我有使用ADAL身份验证开发的MVC应用程序。现在,我将ADAL迁移到MSAL身份验证。
迁移后,AAD身份验证在本地计算机上成功进行。但是当它作为应用程序服务在Azure上发布时,会有一些奇怪的行为。
在Azure上,如果我访问应用程序服务,则身份验证可以按预期方式工作,但是如果我通过Ctrl + R第二次尝试它,它将进行身份验证,但Request.IsAuthenticated标志将变为false。基于此标志,我还有其他逻辑不起作用。
任何指针都会有所帮助。
谢谢
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",
},
});