目前,我尝试将用户授权实施到iOS应用中。因此我们使用Active Directory B2C。
一切正常,除了我过期的令牌令人耳目一新。我将请求网址(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
答案 0 :(得分:0)
我认为您需要为scope
参数指定一个值。 scope
参数用于通知B2C您请求令牌的资源。目前,您很可能希望使用scope=<client_id>
或scope=openid
。
答案 1 :(得分:0)
感谢大家试图解决我的问题!它出来了,我使用的refresh_token
无效。因此,如果您确定请求是正确的,并且您只得到错误请求响应,请再次检查参数。