从ADAL到MSAL的迁移

时间:2020-02-11 04:25:34

标签: asp.net-mvc azure azure-web-app-service msal adal-deprecation

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

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

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

任何指针都会有所帮助。

谢谢

MSAL Configuration

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",
                    },
});

0 个答案:

没有答案