使用 OpenID Connect/Azure AD 的移动设备身份验证不适用于 Microsoft Graph API
Authentication from mobile devices with OpenID Connect / Azure AD not working with Microsoft Graph API
我有一个网站使用 OpenID Connect authentication/ADAL 通过 Azure AD 对用户进行身份验证。该应用程序还使用 Microsoft Graph API 从 AD 中检索用户数据。
自几个月前实施以来,身份验证在各种设备上运行良好。
但几周前(准确地说是 8 月 23 日),移动设备的身份验证突然停止工作,尽管代码或(据我所知)公司基础设施没有发生任何变化。
在我的 ConfigureAuth 方法的 AuthorizationCodeReceived 事件处理程序中,我以这种方式获取身份验证结果:
var authenticationContext = new AuthenticationContext(settings.Authority);
var authenticationResult = authenticationContext.AcquireTokenByAuthorizationCode(context.Code, new Uri(settings.RedirectUri), new ClientCredential(settings.ClientId, settings.ClientSecret), resource);
其中资源是 Microsoft Graph API URL。
但是,自 8 月 23 日起,AcquireTokenByAuthorizationCode 抛出 AdalServiceException 消息:
AADSTS50097:需要进行设备身份验证。
如果我在 AcquireTokenByAuthorizationCode 调用中省略资源参数或将其更改为“https://graph.windows.net”,例如,来自移动设备的身份验证就像一个魅力。但是后来我显然无法访问 MS Graph API.
有没有办法解决这个问题,以便我可以访问 MS Graph API 并让用户使用移动设备登录?
Sriram 的回答是正确的。
公司管理员已为 Exchange Online 启用条件访问策略,该策略目前也适用于 Microsoft Graph。我们知道这会影响将 Microsoft Graph 用于 mail/calendar 以外的项目的应用程序,并且正在努力将它们解耦。这一变化应该会在未来几个月内推出。如果政策可以放宽,请咨询您的公司管理员。如果不可行,请联系我们的支持渠道以请求将 Microsoft Graph 从政策实施中排除
我有一个网站使用 OpenID Connect authentication/ADAL 通过 Azure AD 对用户进行身份验证。该应用程序还使用 Microsoft Graph API 从 AD 中检索用户数据。
自几个月前实施以来,身份验证在各种设备上运行良好。
但几周前(准确地说是 8 月 23 日),移动设备的身份验证突然停止工作,尽管代码或(据我所知)公司基础设施没有发生任何变化。
在我的 ConfigureAuth 方法的 AuthorizationCodeReceived 事件处理程序中,我以这种方式获取身份验证结果:
var authenticationContext = new AuthenticationContext(settings.Authority);
var authenticationResult = authenticationContext.AcquireTokenByAuthorizationCode(context.Code, new Uri(settings.RedirectUri), new ClientCredential(settings.ClientId, settings.ClientSecret), resource);
其中资源是 Microsoft Graph API URL。
但是,自 8 月 23 日起,AcquireTokenByAuthorizationCode 抛出 AdalServiceException 消息:
AADSTS50097:需要进行设备身份验证。
如果我在 AcquireTokenByAuthorizationCode 调用中省略资源参数或将其更改为“https://graph.windows.net”,例如,来自移动设备的身份验证就像一个魅力。但是后来我显然无法访问 MS Graph API.
有没有办法解决这个问题,以便我可以访问 MS Graph API 并让用户使用移动设备登录?
Sriram 的回答是正确的。
公司管理员已为 Exchange Online 启用条件访问策略,该策略目前也适用于 Microsoft Graph。我们知道这会影响将 Microsoft Graph 用于 mail/calendar 以外的项目的应用程序,并且正在努力将它们解耦。这一变化应该会在未来几个月内推出。如果政策可以放宽,请咨询您的公司管理员。如果不可行,请联系我们的支持渠道以请求将 Microsoft Graph 从政策实施中排除