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