首页 文章

Azure Active Directory B2C:如何刷新令牌

提问于
浏览
2

目前,我尝试将用户授权实施到iOS应用程序中 . 因此我们使用Active Directory B2C .

一切正常,除了我过期的令牌令人耳目一新 . 我调用请求url( fabrikamb2c.onmicrosoft.com/oauth2/v2.0/token?p=b2c_1_sign_in )来获取 access_tokenrefresh_token . 响应似乎是有效的,只要它没有过期,_1451181就能很好地工作 .

但是如果我想获得一个新的令牌(就像这里描述的那样:OAuth 2.0 authorization code flow;见第4章),请求只会被 400: Bad Request 响应 .

我无法找到,我做错了什么 . 您现在是一种方式,如何调试这些请求或具有某种清单需要在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

2 回答

  • 0

    我相信你需要为 scope 参数指定一个值 . scope 参数用于通知B2C您请求令牌的资源 . 此时您很可能想要使用 scope=<client_id>scope=openid .

  • 0

    谢谢大家试图解决我的问题!它出来了,我使用的 refresh_token 无效 . 因此,如果您确定请求是正确的,并且您只获得了 Bad Request 响应,请再次检查参数 .

相关问题