开发环境下如何通过Postman获取Azure AD B2C授权用户Token?
Azure AD B2C Postman请求Token报Bad Request问题解决
关于重定向URI限制的问题
Azure AD B2C确实有重定向URI允许列表配置。你UI集成能正常跳转,说明你的网站域名已经添加到应用注册的重定向URI列表里了。Postman的默认回调地址(比如https://oauth.pstmn.io/v1/callback)如果没在这个列表中,就会返回Bad Request错误。
用Postman获取Token的两种方法
方法1:添加Postman回调地址到允许列表
- 登录Azure门户,进入你的Azure AD B2C租户
- 找到应用注册,选中你的目标应用
- 点击左侧身份验证选项
- 在重定向URI区域,点击添加URI,输入Postman的回调地址(默认是
https://oauth.pstmn.io/v1/callback),类型选Web - 保存配置后,重新在Postman中发起Token请求
方法2:手动走授权码流获取
如果不想修改重定向URI列表,可以手动执行授权码流程:
- 在浏览器中构造授权请求URL(替换占位符为你的实际信息):
https://<你的B2C租户域名>.b2clogin.com/<你的B2C租户域名>.onmicrosoft.com/<你的用户流名称>/oauth2/v2.0/authorize? client_id=<你的应用ID> &response_type=code &redirect_uri=<你的网站已验证的重定向URI> &response_mode=query &scope=openid%20<你的API权限范围> &state=12345
- 用test用户登录后,浏览器会跳转到你的网站,URL中会带有
code参数,复制这个参数 - 在Postman中发送POST请求获取Token:
- 请求URL:
https://<你的B2C租户域名>.b2clogin.com/<你的B2C租户域名>.onmicrosoft.com/<你的用户流名称>/oauth2/v2.0/token - 请求体选择
x-www-form-urlencoded,填写以下参数:grant_type:authorization_codeclient_id:<你的应用ID>code:<刚才复制的授权码>redirect_uri:<和授权请求中一致的重定向URI>scope:openid <你的API权限范围>- 若你的应用是机密客户端,还要添加
client_secret:<你的应用密钥>
- 请求URL:
额外检查项
- 确认Postman中的
scope参数和UI集成时使用的完全一致,不要遗漏必要权限 - 核对请求中的用户流名称(比如
B2C_1_signupsignin)是否正确 - 机密客户端要确保
client_secret输入无误,且应用注册中已启用机密客户端流程
内容的提问来源于stack exchange,提问作者Ioannis Panagopoulos
相关产品推荐
相关产品推荐

