Bryan P Clauss Ответов: 1

Как конвертировать system.web.mvc.httprequestbase в microsoft.aspnetcore.http.httprequest (ASP.NET ядро 3.1)


TL;DR: свойства, которые должны быть преобразованы из HttpRequestBase в HttpRequest внизу вместе с моими лучшими предположениями

Я разрабатываю веб-приложение, которое использует ASP.Net 3.1 основные и я пытаюсь реализовать проверку подлинности OAuth 2.

Пример кода, которому я следую, является старым (использует System.Web), и у меня возникли проблемы, пытаясь преобразовать это в более новые стандарты.

Исходный код в классе контроллера имеет:
[HttpPost]
public async Task<ActionResult> oauth2Request()
{
	oauthHelper oauth = new oauthHelper(Request);

Где запрос имеет тип System.Web.Mvc.HttpRequestBase.

Когда я делаю эквивалентный код в своем приложении, у меня есть:
[HttpPost]
public async Task<IActionResult> oauth2Request()
{
	oauthHelper oauth = new oauthHelper(Request);

и теперь Microsoft.AspNetCore.Протоколу HTTP.Класса HttpRequest.

Мне нужно получить свойства equivelent из Microsoft.AspNetCore.Протоколу HTTP.Класса HttpRequest:
Системы.Веб.В MVC.HttpRequestBase.Форма (NameValueCollection)
[Microsoft.AspNetCore.Протоколу HTTP.Класса HttpRequest.Свойство HttpContext.Запрос.Форма с циклом для изменения KeyValuePairs на NameValueCollection ?]

Системы.Веб.В MVC.HttpRequestBase.UserHostAddress (строка)
[Microsoft.AspNetCore.Протоколу HTTP.Класса HttpRequest.HttpContext.Соединение.Удаленный адрес.Метод toString() ?]

Системы.Веб.В MVC.HttpRequestBase.URL-Адрес (URI-Адрес)

Системы.Веб.В MVC.HttpRequestBase.HttpMethod (строка)
[Microsoft.AspNetCore.Протоколу HTTP.Класса HttpRequest.Метод ?]

Что я уже пробовал:

Я показал три из четырех свойств, которые мне нужны, с моей лучшей догадкой. Если это не так, пожалуйста, дайте мне знать.

Я вообще понятия не имею, как сделать преобразование из
HttpRequestBase.Url
собственность. Я даже не знаю, что там должно быть.

1 Ответов

Рейтинг:
2

Richard Deeming

Не пытайтесь адаптировать код, написанный для ASP.NET для использования в ASP.NET ядро. Это вряд ли сработает.

Существует множество примеров настройки OAuth2 в ASP.NET ядро, которое не потребует от вас прыгать через эти обручи. Например:
Аутентификация Facebook, Google и внешнего провайдера в ASP.NET ядро | Microsoft Docs[^]