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

构建Azure可交易产品:着陆页如何获取ID Token实现SSO?

解决Azure Marketplace着陆页获取ID Token的问题

你提到的查询字符串里的token参数,就是Azure Marketplace传递的市场令牌,获取ID Token的核心流程是用这个令牌调用官方验证接口来换取,具体步骤如下:

  • 提取token参数
    不管是前端还是后端,先从请求的查询字符串里拿到这个token值。比如前端可以用window.location.search解析,后端根据技术栈从请求对象中提取(比如Node.js用req.query.token,ASP.NET用Request.Query["token"])。

  • 后端调用验证API换取ID Token
    必须在后端发起POST请求到Azure Marketplace的验证端点,请求格式如下:

    • 请求URL:https://marketplaceapi.microsoft.com/api/validate
    • 请求头:设置Content-Type: application/json
    • 请求体:{"token": "你提取到的marketplace token"}
  • 解析返回的ID Token
    验证通过后,接口会返回包含id_token字段的JSON响应,这个就是你需要的用户身份令牌。它是JWT格式,你可以用对应的JWT库(比如jose、System.IdentityModel.Tokens.Jwt)解析并验证签名,从中提取用户邮箱、姓名等信息,用于SSO登录流程。

关键注意事项

  • 验证操作必须在后端执行,不能仅靠前端,防止令牌被篡改或泄露,保证流程安全性。
  • 解析ID Token时一定要验证签名,确保令牌是Azure官方签发的,避免伪造身份。
  • 如果验证接口返回错误,要及时提示用户购买流程异常,引导用户重新发起购买操作。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 00:52:43