如何在Access Token
中向Postman租户请求Azure AD B2C?
我尝试从Azure门户网站中的Run Now
获取网址并将其放入Auth Url
,但这会产生以下错误:
更新
在Chris的回答之后,我现在已经超过了上述错误。我可以登录但仍然无法获取访问令牌:
AADB2C90085:该服务遇到内部错误。请重新进行身份验证,然后重试。相关ID:45c56d47-4739-465f-8e02-49ba5b3a1b86时间戳:2017-11-16 15:27:52Z
使用@Chris Padgett's answer,我能够使用Implicit
格兰特类型使其工作(无法使用授权代码Gran Type工作)。
格兰特类型:Implicit
回调网址:我的B2C应用中定义的任何网址
验证网址:https://login.microsoftonline.com/te/{tenant}/{policy}/oauth2/v2.0/authorize
客户ID:来自我的B2C应用程序的Application ID
范围:https://{tenant}.onmicrosoft.com/{web api app id uri}/{scope name}
客户端身份验证:Either one, it didn't matter
更新
微软已经记录了这个过程! Use Postman to get a token and test the API。
对于Auth URL字段,您只需输入授权终结点URL而不使用查询字符串参数:
https://login.microsoftonline.com/te/{tenant}/{policy}/oauth2/v2.0/authorize
对于访问令牌URL字段:
https://login.microsoftonline.com/te/{tenant}/{policy}/oauth2/v2.0/token
对于“回调URL”字段,您必须输入向Azure AD B2C应用程序注册的回复URL,例如:
https://www.getpostman.com/oauth2/callback
对于Scope字段,输入“openid”以及任何API访问范围。
对于“客户端身份验证”字段,选择“在正文中发送客户端凭据”。
我只是想为繁荣添加一些额外的信息,因为我最近花了太长时间试图解决与错误AADB2C90085相关的问题,这个问题是Google上为数不多的结果之一。
更新
在Chris的回答之后,我现在已经超过了上述错误。我可以登录但仍然无法获取访问令牌:
AADB2C90085:该服务遇到内部错误。请重新进行身份验证,然后重试。相关ID:45c56d47-4739-465f-8e02-49ba5b3a1b86时间戳:2017-11-16 15:27:52Z
和:
使用@Chris Padgett的答案,我能够使用隐式授权类型使其工作(无法使用授权代码Gran Type工作)。
我在使用授权代码流时收到此错误,因为我的B2C_1A_TokenSigningKeyContainer和B2C_1A_TokenEncryptionKeyContainer生成错误。一旦我按照Get started with custom policies in Azure Active Directory B2C的指南,错误就停止了。
链接的相关摘录:
创建签名密钥
- 选择Policy Keys,然后选择Add。
- 对于“选项”,选择“生成”。
- 在“名称”中,输入TokenSigningKeyContainer。可以自动添加前缀B2C_1A_。
- 对于密钥类型,请选择RSA。
- 对于密钥用法,请选择“签名”。
- 单击“创建”
创建加密密钥
- 选择Policy Keys,然后选择Add。
- 对于“选项”,选择“生成”。
- 在“名称”中,输入TokenEncryptionKeyContainer。可以自动添加前缀B2C_1A_。
- 对于密钥类型,请选择RSA。
- 对于密钥用法,请选择加密。
- 单击“创建”
我可以在邮递员中获得B2C请求访问令牌,用于两种拨款类型:grant_type=implicit
以及grant_type=authorization_code
。我已经相应地打开了有关MS documentation的问题:
grant_type=authorization_code"
is也是可能的(参见说明):https://github.com/aspnet/Docs/issues/10336必须进行以下更改:
grant_type=implicit
和grant_type=authorization_code
之间的唯一区别是grant_type=authorization_code
需要更多参数如下: