Postman Azure AD B2C邮递员中的请求访问令牌
如何针对租户请求Postman Azure AD B2C邮递员中的请求访问令牌,postman,azure-ad-b2c,Postman,Azure Ad B2c,如何针对租户请求访问令牌 我尝试从Azure门户中的runnow获取url,并将其放入Auth url中,但这会产生以下错误: 更新 按照克里斯的回答,我现在已经克服了上述错误。我可以登录,但仍然无法获取访问令牌: AADB2C90085:服务遇到内部错误。请重新验证并重试。 相关ID:45c56d47-4739-465f-8e02-49ba5b3a1b86 时间戳:2017-11-16 15:27:52Z 对于Auth URL字段,您只需输入授权端点URL,而无需输入查询字符串参数:
访问令牌
我尝试从Azure门户中的
runnow
获取url,并将其放入Auth url
中,但这会产生以下错误:
更新 按照克里斯的回答,我现在已经克服了上述错误。我可以登录,但仍然无法获取访问令牌: AADB2C90085:服务遇到内部错误。请重新验证并重试。 相关ID:45c56d47-4739-465f-8e02-49ba5b3a1b86 时间戳:2017-11-16 15:27:52Z
对于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访问范围
对于客户端身份验证字段,选择“在正文中发送客户端凭据”。使用,我能够使用隐式授予类型使其工作(无法使用授权代码格兰类型使其工作)
授予类型:隐式
回调URL:我的B2C应用程序中定义的任何URL
验证URL:https://login.microsoftonline.com/te/{tenant}/{policy}/oauth2/v2.0/authorize
客户端ID:应用程序ID
来自我的B2C应用程序
作用域:https://{tenant}.onmicrosoft.com/{web api应用程序id uri}/{Scope name}
客户端身份验证:任何一个,都不重要
我只是想为繁荣添加一些额外的信息,因为我最近花了太长时间试图解决与错误AADB2C90085相关的问题,这个问题是Google上为数不多的结果之一
更新
按照克里斯的回答,我现在已经克服了上述错误。我可以登录,但仍然无法获取访问令牌:
AADB2C90085:服务遇到内部错误。请重新验证并重试。相关ID:45c56d47-4739-465f-8e02-49ba5b3a1b86时间戳:2017-11-16 15:27:52Z
以及:
使用@Chris Padgett的答案,我能够使用隐式授权类型使其工作(无法使用授权代码Gran Type使其工作)
我在使用授权代码流时收到此错误,因为我的B2C_1A_令牌SigningKeyContainer和B2C_1A_令牌EncryptionKeyContainer生成错误。一旦我按照指南中的错误停止发生
链接的相关摘录:
创建签名密钥
选择策略键,然后选择添加李>
对于选项,选择“生成”
在名称中,输入TokenSigningKeyContainer。前缀B2C_1A_可能会自动添加
对于密钥类型,选择RSA
对于密钥用法,选择签名
单击创建
创建加密密钥
选择策略键,然后选择添加
对于选项,选择“生成”
在名称中,输入TokenEncryptionKeyContainer。前缀B2C_1A_可能会自动添加
对于密钥类型,选择RSA
对于密钥使用,请选择加密
单击创建
我可以在Postman中获得B2C请求访问令牌,用于两种授权类型:grant\u type=implicit
以及grant\u type=authorization\u code
。我已经相应地打开了一个关于以下内容的问题:
- 更新文档并提及也可以使用
grant\u type=authorization\u code>(参见说明):
有必要进行以下修改:
grant\u type=implicit
和grant\u type=authorization\u code
之间的唯一区别在于grant\u type=authorization\u code
需要更多参数,如下所示:
- 访问令牌(访问令牌请求)URL:“租户名称”。onmicrosoft.com/oauth2/v2.0/Token?p=B2C_1_“您的注册登录流的名称”
- 客户端密码:为您的应用程序生成密钥:Azure门户->Azure AD B2C->应用程序->密钥->生成密钥
2020-05-26更新
如您所见,Microsoft更改了Azure Active Directory B2C的登录URL
因此必须更新为:
授予类型:隐式
回调URL:我的B2C应用程序中定义的任何URL
验证URL:https://{tenant}.b2clogin.com/te/{tenant}.onmicrosoft.com/{policy}/oauth2/v2.0/authorize
客户端ID:我的B2C应用程序中的应用程序ID
作用域:https://{tenant}.onmicrosoft.com/{web api应用程序id uri}/{Scope name}
客户端身份验证:不管是哪一种,都没关系。获取此设置有点让人头疼。以下是我根据此线程中的答案拼凑而成的内容,经过更新以利用Postman的授权类型:授权码(带PKCE)
信用也被用来作为起点
使用:Azure B2C租户、JS SPA前端、Azure功能后端
Azure门户(Azure广告B2C)
- SPA和后端的设置或多或少如本MS文档所述(请小心,某些部分已过时!):
- @SPA应用程序注册>身份验证刀片>将此值添加到“单页应用程序重定向URI”
https://oauth.pstmn.io/v1/callback
- @Azure AD B2C |应用程序注册,点击“端点”(蓝色地球图标@top)
- 记录Azure AD B2C OAuth 2.0令牌端点(v2)和Azure AD B2C 2.0授权端点(v2)
邮递员
- 授权:Oauth 2.0
- 将身份验证数据添加到:请求头
配置新令牌
-