Azure ad b2c Azure Active Directory B2C:如何刷新令牌

Azure ad b2c Azure Active Directory B2C:如何刷新令牌,azure-ad-b2c,Azure Ad B2c,目前,我尝试在iOS应用程序中实现用户授权。因此,我们使用Active Directory B2C 一切正常,除了刷新我过期的代币。我调用请求url(fabrikamb2c.onmicrosoft.com/oauth2/v2.0/token?p=b2c\u 1\u sign\u in)来获取access\u令牌和刷新令牌。响应似乎是有效的,access\u令牌只要没有过期就可以正常工作 但是,如果我想获得一个新的令牌(如这里所述:;参见第4章),请求只会得到一个400:Bad请求的响应 我不知道

目前,我尝试在iOS应用程序中实现用户授权。因此,我们使用Active Directory B2C

一切正常,除了刷新我过期的代币。我调用请求url(
fabrikamb2c.onmicrosoft.com/oauth2/v2.0/token?p=b2c\u 1\u sign\u in
)来获取
access\u令牌
刷新令牌
。响应似乎是有效的,
access\u令牌
只要没有过期就可以正常工作

但是,如果我想获得一个新的令牌(如这里所述:;参见第4章),请求只会得到一个400:Bad请求的响应

我不知道我做错了什么。你们现在有没有办法,如何调试这些请求,或者有什么样的清单需要在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=
scope=openid

谢谢大家尝试解决我的问题!结果表明,我使用的
refresh\u令牌
无效。因此,如果您确信请求是正确的,并且您只得到了一个错误的请求响应,请再次检查参数。

您可以分享您用于请求刷新令牌的代码吗?谢谢您的评论。我编辑了我的问题。你确定你的
主机与你在这里发布的内容一样吗?因为在参考文档中,它保持为
主机:https://login.microsoftonline.com
,这确实会导致400服务器错误,并且没有进一步的消息。我尝试了两个不同的AAD B2C租户,包括一个非常老的租户(在预览中很早就创建了),所有这些都按照预期工作。请确保您的主机参数确实没有
https
,并且您的内容长度与请求的长度匹配。非常感谢您的回答。我已经尝试为
范围设置了几个参数。不幸的是,我仍然得到400错误。此页面上的人:似乎有评论区中提到的类似问题。