【发布时间】:2019-12-24 11:13:54
【问题描述】:
我在 azure 中创建了一个 Web 应用程序,并且我正在使用 Azure AD 身份验证 (OpenID-Connect) 来验证我的 Web 应用程序。但我无法在几台机器上验证网络应用程序。
在某些机器上它(AAD 身份验证)在谷歌浏览器中工作,而不是在 IE、Edge、Firefox 中。 几次它在所有浏览器中都有效。
我在以下步骤中失败了
- 删除了所有 cookie 和声明
- 清除会话并在私有模式下测试
在 Startup.cs 中
public void ConfigureAuth(IAppBuilder app)
{
app.SetDefaultSignInAsAuthenticationType(CookieAuthenticationDefaults.AuthenticationType);
app.UseCookieAuthentication(new CookieAuthenticationOptions());
app.UseOpenIdConnectAuthentication(
new OpenIdConnectAuthenticationOptions
{
ClientId = Config.ClientId,
ClientSecret = Config.ClientSecret,
Authority = Config.Authority,
PostLogoutRedirectUri = Config.PostLogoutRedirectUri,
RedirectUri = Config.PostLogoutRedirectUri,
Notifications = new OpenIdConnectAuthenticationNotifications()
{
}
});
}
当我尝试使用 Azure AAD 登录时。我收到类似“我们无法让您登录。请重试”之类的错误消息。
信息:
没有错误登录浏览器控制台
启用 azure 身份验证/授权
【问题讨论】:
-
你检查过浏览器控制台吗?您是否检查过引发错误时生成的 url?你检查过 webapp 日志吗?你有两因素身份验证吗?您的个人帐户和工作帐户的电子邮件地址是否相同?你在代理后面?你试过邮递员吗?请更新您的问题并提供更多详细信息。
-
@Max 你检查过浏览器控制台吗?**是的,没有错误**你检查过引发错误时生成的 url 吗?** URL 是 login.microsoftonline.com/TENANTID/oauth2/…** 你检查过吗网络应用日志? 在 APP Insights 中没有日志存在您是否进行了双重身份验证启用了 azure 身份验证/授权?
-
您的个人帐户和工作帐户的电子邮件地址是否相同?**AD 属于 Work A/C** 您在代理后面?**没有**您是否尝试过使用邮递员? **这是网络应用程序**
-
如果在您的应用程序中使用 openid 连接中间件,您不需要
authentication/authorization功能,只需禁用它即可。 -
我已禁用身份验证/授权功能。我收到以下错误 IDX21323: RequireNonce is '[PII is hidden。有关详细信息,请参阅aka.ms/IdentityModel/PII.]'。 OpenIdConnectProtocolValidationContext.Nonce 为空,OpenIdConnectProtocol.ValidatedIdToken.Payload.Nonce 不为空。无法验证随机数。如果您不需要检查 nonce,请将 OpenIdConnectProtocolValidator.RequireNonce 设置为“false”。请注意,如果找到“nonce”,则会对其进行评估。
标签: azure asp.net-core azure-active-directory openid-connect azure-webapps