Azure Active Directory B2C:如何刷新令牌
Azure Active Directory B2C: how to refresh a token
目前我尝试在 iOS 应用程序中实现用户授权。因此我们使用 Active Directory B2C。
一切正常,除了刷新我的过期令牌。我调用请求 url (fabrikamb2c.onmicrosoft.com/oauth2/v2.0/token?p=b2c_1_sign_in
) 以获得 access_token
和 refresh_token
。响应似乎是有效的,并且 access_token
只要未过期就可以很好地工作。
但是如果我想获得一个新令牌(就像这里描述的那样:OAuth 2.0 authorization code flow;参见第 4 章),请求只会得到 400 的响应:错误请求.
我不知道我做错了什么。你们现在知道如何调试这些请求或有某种清单需要在 Azure 门户中配置什么吗?
谢谢!
编辑:这是我正在使用的请求:
POST /xxx.onmicrosoft.com/oauth2/v2.0/token?p=b2c_1_local-account-signupin HTTP/1.1
HOST: login.microsoftonline.com
content-type: application/x-www-form-urlencoded
content-length: 1148
client_id=xxx&refresh_token=xxx&grant_type=refresh_token&redirect_uri=urn:ietf:wg:oauth:2.0:oob
我认为您需要为 scope
参数指定一个值。 scope
参数用于通知 B2C 您正在为哪个资源请求令牌。此时你很可能想要使用 scope=<client_id>
或 scope=openid
.
感谢大家帮我解决问题!事实证明,我使用的 refresh_token
无效。因此,如果您确定请求是正确的,并且您只收到 Bad Request 响应,请再检查一次参数。
目前我尝试在 iOS 应用程序中实现用户授权。因此我们使用 Active Directory B2C。
一切正常,除了刷新我的过期令牌。我调用请求 url (fabrikamb2c.onmicrosoft.com/oauth2/v2.0/token?p=b2c_1_sign_in
) 以获得 access_token
和 refresh_token
。响应似乎是有效的,并且 access_token
只要未过期就可以很好地工作。
但是如果我想获得一个新令牌(就像这里描述的那样:OAuth 2.0 authorization code flow;参见第 4 章),请求只会得到 400 的响应:错误请求.
我不知道我做错了什么。你们现在知道如何调试这些请求或有某种清单需要在 Azure 门户中配置什么吗?
谢谢!
编辑:这是我正在使用的请求:
POST /xxx.onmicrosoft.com/oauth2/v2.0/token?p=b2c_1_local-account-signupin HTTP/1.1
HOST: login.microsoftonline.com
content-type: application/x-www-form-urlencoded
content-length: 1148
client_id=xxx&refresh_token=xxx&grant_type=refresh_token&redirect_uri=urn:ietf:wg:oauth:2.0:oob
我认为您需要为 scope
参数指定一个值。 scope
参数用于通知 B2C 您正在为哪个资源请求令牌。此时你很可能想要使用 scope=<client_id>
或 scope=openid
.
感谢大家帮我解决问题!事实证明,我使用的 refresh_token
无效。因此,如果您确定请求是正确的,并且您只收到 Bad Request 响应,请再检查一次参数。