首页 > 解决方案 > 无法从 Azure B2C 获取刷新令牌

问题描述

谁能告诉我从 Azure B2C 获取刷新令牌的步骤,尽管我们已经从 Azure B2C 获得了授权令牌。

我们按照以下用户流程从 Azure B2C 获取活动令牌,但我们没有收到刷新令牌

https://tenant.b2clogin.com/tenant.onmicrosoft.com/oauth2/v2.0/authorize?
client_id=feerer72-615a-4851-af2b-78786bhgg
&response_type=id_token+token
&redirect_uri=https%3A%2F%2Fjwt.ms
&scope=openid%20offline_access
&state=arbitrary_data_you_can_receive_in_the_response
&nonce=defaultNonce
&p=userflowName

描述:已授予 azure B2C 租户的所有权限,如下面的屏幕截图所示:

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

所以请谁能告诉我如何接收刷新令牌作为响应,以便我可以使用该刷新令牌从 Azure B2C 获取另一个活动令牌,而无需登录 Azure B2C 上的用户。

注意:检查下面给出的响应:我们正在获取活动令牌但未收到刷新令牌

{
  "typ": "JWT",
  "alg": "RS256",
  "kid": "X5eXk4xyojNFum1kl2Ytv8dlNP4-c57dO6QGTVBwaNk"
}.{
  "exp": 1582120656,
  "nbf": 1582034256,
  "ver": "1.0",
  "iss": "https://tenant.b2clogin.com/c9fabc17-7ff9-4cdf17-b175-945gfgdf9ac/v2.0/",
  "sub": "842e9ee3-28dfd02-4a29-ba95-b5228616e9fe",
  "aud": "fecd3e72-615a-4851-af2b-d2b5171735erer4d",
  "nonce": "defaultNonce",
  "iat": 1582034256,
  "auth_time": 1582034256,
  "oid": "898hfhfe3-2802-4a29-ba95-b5228616e9fe",
  "emails": [
    "nikhil.sharma@gmail.com"
  ],
  "tfp": "B2C_1_Sign_Up_Policy",
  "c_hash": "vAb2w438XDmZpZBzEYMcZ2rA"
}

标签: azureazure-cosmosdb

解决方案


真的很简单,只需要了解使用 refresh_token 获取 access_token 的方式。完整的流程包括三个步骤。

1) 通过将应用程序重定向到 Azure 登录屏幕,从 Azure 用户流中获取代码。这将是一个 GET 请求。

https://{tenant}.b2clogin.com/{tenant}.onmicrosoft.com/{userflow}/oauth2/v2.0/authorize?
client_id=abcd3e72-615a-8745-af2b-d2b51717354d
&response_type=code
&redirect_uri=https%3A%2F%2Fjwt.ms
&response_mode=query
&scope=abcd3e72-615a-8745-af2b-d2b51717354d%20offline_access
&state=arbitrary_data_you_can_receive_in_the_response

成功登录后,Azure 使用查询字符串中的代码参数进行重定向。

2) 使用上面的代码通过下面的 POST URL 请求获取 access_token 和 refresh_token。

https://{tenant}.b2clogin.com/{tenant}.onmicrosoft.com/{userflow}/oauth2/v2.0/token

在此处输入图像描述 3) 在 access_token 到期后,使用 refresh_token 和下面的 POST URL 来获取访问令牌和刷新令牌。

https://{tenant}.b2clogin.com/{tenant}.onmicrosoft.com/{userflow}/oauth2/v2.0/token

在此处输入图像描述


推荐阅读