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

Azure AD单点登录时,微软如何通过POST方法重定向至客户端应用?

Azure AD SSO中POST方式传递id_token的实现原理

你说的没错,HTTP标准的3xx重定向确实只支持GET方法,没法直接携带表单数据。Azure AD这里用的是开发里很常见的技巧——它返回的不是直接的重定向响应,而是一个包含自动提交表单的HTML页面。

具体流程是:

  • 用户完成微软端的认证后,Azure AD会向浏览器返回一段HTML代码,里面包含一个预设好的表单:表单的action指向你的Web应用回调地址,method设为POST,同时把id_token等认证信息放在隐藏的<input>字段里。
  • 这个HTML页面还会自带自动提交逻辑,要么是通过<body onload>触发表单提交,要么是内嵌一段简单的JavaScript代码自动执行表单提交操作。
  • 浏览器加载这个页面后,会自动触发表单提交,把包含id_token的表单数据以POST方式发送到你的应用回调地址。从用户视角看像是被“重定向”过来的,但本质是浏览器主动发起了POST请求,而非标准的3xx重定向。

从你提供的截图也能验证这个逻辑:网络请求记录里会先出现一个来自微软的HTML响应,紧接着就自动发起了POST请求到你的应用回调地址,这就是自动表单提交的结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 23:45:04