0

我有使用 ADAL 身份验证开发的现有 MVC 应用程序。现在,我将 ADAL 迁移到 MSAL 身份验证。

迁移后,AAD 身份验证在本地计算机上成功进行。但是当它作为应用服务发布在 Azure 上时会出现一些奇怪的行为。

在 Azure 上,如果我访问应用程序服务,则身份验证按预期工作,但如果我通过 Ctrl + R 进行第二次尝试。它会获得身份验证,但 Request.IsAuthenticated 标志为假。我有基于此标志的其他逻辑不起作用。

任何指针都会有所帮助。

谢谢

MSAL 配置

app.UseOpenIdConnectAuthentication(
                new OpenIdConnectAuthenticationOptions
                {
                    ClientId = clientId,
                    Authority = Authority,
                    RedirectUri = postLogoutRedirectUri,
                    PostLogoutRedirectUri = postLogoutRedirectUri,
                    Scope = "openid profile email offline_access user.readbasic.all",
                    //Scope = "openid profile",
                    TokenValidationParameters = new TokenValidationParameters
                    {
                        // instead of using the default validation (validating against a single issuer value, as we do in line of business apps), 
                        // we inject our own multitenant validation logic
                        ValidateIssuer = false,
                        NameClaimType = "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress",
                        //NameClaimType = "name",
                    },
});
4

0 回答 0