我在尝试从AD B2C获取新的访问令牌时遇到问题。在我的SPA中,我使用MSAL.js库(v0.1.3)对我的AD B2C进行身份验证。一小时后,访问令牌到期,所以我做了一个静默令牌更新程序,但它失败了。我使用以下链接获取新的访问令牌:
https://login.microsoftonline.com/te/myApp.onmicrosoft.com/b2c_1_signin/oauth2/v2.0/authorize?response_type=token&scope=https%3A%2F%2FmyApp.onmicrosoft.com%2Fapi%2Faccount.read%20openid%20profile&client_id=XXX&redirect_uri=https%3A%2F%2FmyApp.azurewebsites.net%2F&state=XXX&nonce=XXX&client_info=1&x-client-SKU=MSAL.JS&x-client-Ver=0.1.3&client-request-id=XXX&prompt=none&domain_req=XXX&login_req=XXX-b2c_1_signin&domain_hint=organizations
我从B2C收到以下错误:
AADB2C90077:用户没有现有会话和请求提示 参数的值为“None”。相关ID:YYY
我找不到任何有关错误AADB2C90077的信息。
由于
答案 0 :(得分:1)
为了记录,在与Microsoft技术支持和开发团队多次来回之后,我们终于确定了我的AADB2C90077错误代码的原因。 Azure B2C后端存在一个问题,系统无法正确处理默认值。 我的解决方法是修改四个令牌生存期值:'Access& ID令牌生存期','刷新令牌生存期','刷新令牌滑动窗口生存期'和'Web应用程序会话生存期',以便它们出现在策略xml中。
截至2018年2月22日,微软确认他们已发布修复程序以解决此问题。因此,如果某人有问题,最有可能是出于其他原因。
答案 1 :(得分:0)
可能导致AADB2C90077错误的一件事是禁用了用户流或自定义策略的单点登录配置的值。
假设您正在使用SPA应用程序,为Web API应用程序请求令牌,就像在this MSAL sample中所做的那样。 SPA应用程序和Web API应用程序都有各自的应用程序注册。从SPA应用程序中,您正在访问Web API应用程序的范围。交互式登录返回id_token,但是随后的访问令牌请求失败并显示上述消息。
以下是更改用户流的设置(自定义策略需要编辑XML): User flow setting that causes AADB2C90077