You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Postman调用API,基于Microsoft Entra认证获取指定Cookie及Bearer Token

获取Microsoft Entra认证Web应用的AppServiceAuthSession Cookie和Bearer Token(Postman实现)

首先你得提前准备好这些信息,缺一不可:

  • Web应用对应的Entra应用注册信息:客户端ID(Client ID)、租户ID(Tenant ID),在Entra管理中心的应用注册详情页能找到。
  • Web应用的回调URL(Redirect URI),同样在应用注册的「身份验证」页面里配置的地址。
  • 用于登录的账号用户名和密码。

方法1:抓包浏览器流程后在Postman复现(新手推荐)

这种方式最直观,先通过浏览器抓包理清登录全流程,再在Postman里一步步复刻:

第一步:用Chrome抓包登录流程

  1. 打开Chrome,按F12调出开发者工具,切换到「网络」标签,勾选「保留日志」。
  2. 正常访问你的Web应用,输入账号密码完成登录。
  3. 在网络日志里找关键请求:
    • 第一个是跳转到微软登录页的GET请求,记下地址里的client_id、state、nonce、redirect_uri参数。
    • 然后是提交用户名密码的POST请求(地址一般是https://login.microsoftonline.com/{租户ID}/login),查看「Form Data」里的所有字段(比如login、passwd、state、nonce等),全部记下来。
    • 登录成功后会重定向回你的应用,重定向URL里包含code=xxx的授权码,也记下来。

第二步:在Postman里复刻请求

1. 提交用户名密码获取授权码

新建POST请求,地址填你抓包到的微软登录提交地址(比如https://login.microsoftonline.com/{tenant-id}/login):

  • 请求头设置Content-Type: application/x-www-form-urlencoded
  • 「Body」选「x-www-form-urlencoded」,填入抓包到的所有Form字段,包括你的用户名(login)和密码(passwd)。

发送请求后,查看响应的Location头,里面的code就是授权码。

2. 交换令牌并获取AppServiceAuthSession Cookie

新建POST请求,地址填你的应用的Entra认证回调端点:https://你的应用域名/.auth/login/aad/callback:

  • 请求头同样设置Content-Type: application/x-www-form-urlencoded
  • Body里填入code=刚才拿到的授权码

发送请求后:

  • 查看响应的「Set-Cookie」头,里面的AppServiceAuthSession就是你要的Cookie。
  • 响应Body里的access_token就是Bearer Token,直接拿来用就行。

方法2:直接用ROPC流程(仅适用于无MFA的账号)

微软不推荐这种方式,但如果你的账号没开MFA,可以直接调用令牌端点获取Token,再通过回调获取Cookie:

1. 获取Bearer Token

POST请求到https://login.microsoftonline.com/{tenant-id}/oauth2/v2.0/token:

  • 请求头Content-Type: application/x-www-form-urlencoded
  • Body参数:
    client_id=你的客户端ID
    &scope=https://你的应用域名/.default openid profile offline_access
    &username=你的用户名
    &password=你的密码
    &grant_type=password
    
    发送后,响应Body里的access_token就是Bearer Token。

POST请求到https://你的应用域名/.auth/login/aad:

  • 请求头Content-Type: application/json
  • Body内容:
    {
      "access_token": "刚才拿到的Bearer Token"
    }
    
    发送后,响应的「Set-Cookie」头里就能找到AppServiceAuthSession。

关键注意点

  • 如果你账号开了MFA,ROPC流程直接失效,必须用第一种抓包复现的授权码流程。
  • state、nonce这类参数是一次性的,每次请求都要重新获取,不能重复用旧值。
  • AppServiceAuthSession和Bearer Token都有有效期,过期后需要重新执行流程获取。
  • 确保你的Entra应用注册里的权限范围配置正确,否则会拿到无效的Token。

内容的提问来源于stack exchange,提问作者TheDemonLord

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 09:06:04