Microsoft 在 ASP.NET MVC 中内置 azuread 身份验证出现错误

编程

[ad_1]

我在 asp.net mvc 中使用微软内置授权。
我在startup.auth.cs中使用以下调用。 在允许它不在默认页面中重定向后,我在移动设备中收到授权提示。

C#
private static string clientId = ConfigurationManager.AppSettings["ida:ClientId"];           
        public void ConfigureAuth(IAppBuilder app)
        {
            app.SetDefaultSignInAsAuthenticationType(CookieAuthenticationDefaults.AuthenticationType);

            app.UseCookieAuthentication(new CookieAuthenticationOptions());

            app.UseOpenIdConnectAuthentication(
                new OpenIdConnectAuthenticationOptions
                {
                    ClientId = clientId,
                    Authority = authority,                    
                    PostLogoutRedirectUri = postLogoutRedirectUri
                });
        }

我尝试过的:

我尝试了多种方法,但没有找到正确的方法

解决方案1

在 ASP.NET 中使用 Microsoft 的内置授权时,您似乎遇到了成功授权后重定向到默认页面的问题。

尝试以下步骤进行故障排除;

1. 验证重定向 URI:确保应用程序中的重定向 URI 与身份提供商中配置的内容完全匹配。

2. 设置 RedirectUri 属性:将 OpenIdConnectAuthenticationOptions 中的 RedirectUri 显式设置为应用程序的重定向 URI。

C#
RedirectUri = "http://localhost:port/signin-oidc"

3. 处理认证失败:
监视 AuthenticationFailed 事件以捕获并处理任何身份验证错误。

C#
Notifications = new OpenIdConnectAuthenticationNotifications
{
    AuthenticationFailed = context =>
    {
        context.Response.Redirect("/Home/Error");
        return Task.FromResult(0);
    }
};

4. 检查启动类配置:确保 OWIN 正确识别您的启动类 [assembly: OwinStartup(typeof(YourNamespace.Startup))] 属性。

5. 检查会话和 Cookie 设置:确保正确配置 Cookie 以维持会话,尤其是移动浏览器。

6. 实施日志记录:在整个身份验证过程中添加日志记录,以识别该过程可能在哪里失败。

7. 调查特定于移动设备的问题:由于问题发生在移动设备上,因此请查找可能影响身份验证流程的任何特定于移动设备的设置或行为。

[ad_2]

コメント

标题和URL已复制