Azure AD B2C:AcquireTokenSilentAsync返回空访问令牌

Azure AD B2C:AcquireTokenSilentAsync返回空访问令牌,azure,azure-ad-b2c,Azure,Azure Ad B2c,我按照中的步骤,使用示例代码为我们公司的Azure AD B2C原型 唯一的变化是我使用了我的域名而不是示例域,并修改了web.config 我已经为API应用程序定义了范围和应用程序ID 我获得了Id令牌,但未获得访问令牌 关于这个问题有什么建议吗 文档中缺少一个步骤 一旦您授予API对Web应用程序的访问权,就会返回访问令牌。当我请求的范围之外的所有内容都正确时,我遇到了这个问题。我将获得返回的id_令牌,但不是访问_令牌。我使用的是这里的样本:(顺便说一下,这是一篇极好的文章)。我已经

我按照中的步骤,使用示例代码为我们公司的Azure AD B2C原型

  • 唯一的变化是我使用了我的域名而不是示例域,并修改了web.config
  • 我已经为API应用程序定义了范围和应用程序ID
  • 我获得了Id令牌,但未获得访问令牌
关于这个问题有什么建议吗


文档中缺少一个步骤


一旦您授予API对Web应用程序的访问权,就会返回访问令牌。

当我请求的范围之外的所有内容都正确时,我遇到了这个问题。我将获得返回的id_令牌,但不是访问_令牌。我使用的是这里的样本:(顺便说一下,这是一篇极好的文章)。我已经运行了该应用程序,但没有在我的Azure B2C租户的应用程序发布范围中定义read_values范围。您描述的问题在该示例的这些代码行中得到了体现

var result = await client.AcquireTokenByAuthorizationCodeAsync(context.TokenEndpointRequest.Code, new[] { $"{authOptions.ApiIdentifier}/read_values" });

context.HandleCodeRedemption(result.AccessToken, result.IdToken); 
result.IdToken正常,result.AccessToken为null,直到我在azure b2c租户中正确定义了read_values范围。


API应用程序的应用程序Id为https://*****.onmicrosoft.com/tasks/。作用域名称为“读”和“写”,门户中有一条警告“没有订阅链接到此B2C租户…”。这与没有返回访问令牌有关吗?@spottedmahn为什么在建议的编辑中到处链接?您好@jontro-您不觉得阅读标题比阅读URL更容易吗?还有更多的自我记录。。。