ASP.NET Framework 4.8/4.7, подключенный к внешнему единому входу с помощью OpenId Connect с потоком предоставления кода ⇐ C#
ASP.NET Framework 4.8/4.7, подключенный к внешнему единому входу с помощью OpenId Connect с потоком предоставления кода
Я пытаюсь настроить внешнего поставщика единого входа (FusionAuth) для проекта ASP.NET Framework 4.8 с помощью OpenIDConnect/Oauth с запросом на предоставление кода авторизации.
Когда ответ с кодом авторизации поступает от сервера SSO, конечная точка /signin-oidc недоступна.
В похожих сообщениях я обнаружил, что промежуточное программное обеспечение может быть настроено не полностью, и его необходимо добавить. app.UseAuthentication() в Startup.cs, но я не уверен, как это сделать в Framework 4.8
Похоже, схема испытаний не включена.
Вот мой класс стартапа. Microsoft.Owin.Host.SystemWeb и другие зависимости были установлены.
с использованием Microsoft.IdentityModel.Protocols.OpenIdConnect; использование Microsoft.IdentityModel.Tokens; использование Microsoft.Owin; использование Microsoft.Owin.Security; использование Microsoft.Owin.Security.Cookies; использование Microsoft.Owin.Security.OpenIdConnect; использование Овина; [сборка: OwinStartup(typeof(WebApplication6_Framework.Startup))] пространство имен WebApplication6_Framework { публичный класс стартапа { Конфигурация public void (приложение IAppBuilder) { app.SetDefaultSignInAsAuthenticationType(CookieAuthenticationDefaults.AuthenticationType); app.UseCookieAuthentication(новые CookieAuthenticationOptions() { CookieName = "Мои файлы cookie", ТипАутентификации = CookieAuthenticationDefaults.ТипАутентификации }); app.UseOpenIdConnectAuthentication( новые параметры OpenIdConnectAuthenticationOptions { Полномочия = "", ClientId = "", ClientSecret = "", RedirectUri = "https://localhost:44309/signin-oidc", SignInAsAuthenticationType = "Файлы cookie", PostLogoutRedirectUri = "https://localhost:44309", Область = OpenIdConnectScope.OpenIdProfile, ResponseType = "код", // OpenIdConnectResponseType.Code, TokenValidationParameters = новые TokenValidationParameters() { ValidateIssuer = false // Для теста }, ТребоватьHttpsMetadata = ложь } ); } } } 404, когда я захожу с сервера SSO с кодом авторизации в свои приложения на конечной точке /signin-oidc.
Ошибка сервера в приложении '/'. Ресурс не может быть найден. Описание: HTTP 404. Искомый ресурс (или одна из его зависимостей) мог быть удален, его имя было изменено или он временно недоступен. Просмотрите следующий URL-адрес и убедитесь, что он написан правильно. Запрошенный URL: /signin-oidc Попробовал оба варианта: с атрибутом [Autorize] на контроллере и с кодом из контроллера входа:
public void SignIn() { если (!Request.IsAuthenticated) { HttpContext.GetOwinContext().Authentication.Challenge( новые AuthenticationProperties { RedirectUri = "https://localhost:44309/signin-oidc" }, OpenIdConnectAuthenticationDefaults.AuthenticationType); } } При тех же настройках в проекте ASP.NET 6 все работает.
Заранее благодарим за любую помощь.
ОБНОВЛЕНИЕ:
Ссылка на те же проблемы, но для предыдущих версий платформы:
Маршрут входа OpenIdConnect-oidc не обрабатывается ASP.NET MVC
https://learn.microsoft.com/en-us/answe ... ort=oldest У меня ничего из этого по-прежнему не работает, но это хорошая отправная точка для устранения причин проблем.
Я пытаюсь настроить внешнего поставщика единого входа (FusionAuth) для проекта ASP.NET Framework 4.8 с помощью OpenIDConnect/Oauth с запросом на предоставление кода авторизации.
Когда ответ с кодом авторизации поступает от сервера SSO, конечная точка /signin-oidc недоступна.
В похожих сообщениях я обнаружил, что промежуточное программное обеспечение может быть настроено не полностью, и его необходимо добавить. app.UseAuthentication() в Startup.cs, но я не уверен, как это сделать в Framework 4.8
Похоже, схема испытаний не включена.
Вот мой класс стартапа. Microsoft.Owin.Host.SystemWeb и другие зависимости были установлены.
с использованием Microsoft.IdentityModel.Protocols.OpenIdConnect; использование Microsoft.IdentityModel.Tokens; использование Microsoft.Owin; использование Microsoft.Owin.Security; использование Microsoft.Owin.Security.Cookies; использование Microsoft.Owin.Security.OpenIdConnect; использование Овина; [сборка: OwinStartup(typeof(WebApplication6_Framework.Startup))] пространство имен WebApplication6_Framework { публичный класс стартапа { Конфигурация public void (приложение IAppBuilder) { app.SetDefaultSignInAsAuthenticationType(CookieAuthenticationDefaults.AuthenticationType); app.UseCookieAuthentication(новые CookieAuthenticationOptions() { CookieName = "Мои файлы cookie", ТипАутентификации = CookieAuthenticationDefaults.ТипАутентификации }); app.UseOpenIdConnectAuthentication( новые параметры OpenIdConnectAuthenticationOptions { Полномочия = "", ClientId = "", ClientSecret = "", RedirectUri = "https://localhost:44309/signin-oidc", SignInAsAuthenticationType = "Файлы cookie", PostLogoutRedirectUri = "https://localhost:44309", Область = OpenIdConnectScope.OpenIdProfile, ResponseType = "код", // OpenIdConnectResponseType.Code, TokenValidationParameters = новые TokenValidationParameters() { ValidateIssuer = false // Для теста }, ТребоватьHttpsMetadata = ложь } ); } } } 404, когда я захожу с сервера SSO с кодом авторизации в свои приложения на конечной точке /signin-oidc.
Ошибка сервера в приложении '/'. Ресурс не может быть найден. Описание: HTTP 404. Искомый ресурс (или одна из его зависимостей) мог быть удален, его имя было изменено или он временно недоступен. Просмотрите следующий URL-адрес и убедитесь, что он написан правильно. Запрошенный URL: /signin-oidc Попробовал оба варианта: с атрибутом [Autorize] на контроллере и с кодом из контроллера входа:
public void SignIn() { если (!Request.IsAuthenticated) { HttpContext.GetOwinContext().Authentication.Challenge( новые AuthenticationProperties { RedirectUri = "https://localhost:44309/signin-oidc" }, OpenIdConnectAuthenticationDefaults.AuthenticationType); } } При тех же настройках в проекте ASP.NET 6 все работает.
Заранее благодарим за любую помощь.
ОБНОВЛЕНИЕ:
Ссылка на те же проблемы, но для предыдущих версий платформы:
Маршрут входа OpenIdConnect-oidc не обрабатывается ASP.NET MVC
https://learn.microsoft.com/en-us/answe ... ort=oldest У меня ничего из этого по-прежнему не работает, но это хорошая отправная точка для устранения причин проблем.
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Как получить конфигурацию OpenId Connect из URL-адреса ./well-known/openid-connect в OWIN?
Anonymous » » в форуме C# - 0 Ответы
- 27 Просмотры
-
Последнее сообщение Anonymous
-
-
-
ASP.NET Core: невозможно получить id_token и токен доступа из openid Connect
Anonymous » » в форуме C# - 0 Ответы
- 24 Просмотры
-
Последнее сообщение Anonymous
-
-
-
ASP.NET Core 8 OpenID Connect — утверждение SUB отсутствует в User.Identity
Anonymous » » в форуме C# - 0 Ответы
- 12 Просмотры
-
Последнее сообщение Anonymous
-