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

如何配置Azure AAD应用以无需Client_secret生成用户Access Token

解决Azure AD应用无需client_secret获取Access Token的问题

修改现有应用配置

针对已有的第二个Client_id对应的应用,按以下步骤调整:

  • 登录Azure门户,找到目标应用注册
  • 进入「认证」页面
  • 滚动到「高级设置」区域,将「允许公共客户端流」设置为「是」
  • 保存配置后,再次调用https://login.microsoftonline.com/tenantId/oauth2/token接口,传入client_id、grant_type=password、resource、username、password参数即可获取令牌,无需附加client_secret

创建新的公共客户端应用

如果需要新建符合要求的应用:

  • 在Azure门户的「应用注册」中点击「新建注册」
  • 填写应用名称,选择适配的账户类型(如仅限本组织目录内账户)
  • 在「重定向URI」部分,选择「公共客户端/移动设备」类型,填写对应URI(桌面应用常用urn:ietf:wg:oauth:2.0:oob)
  • 完成注册后,使用新生成的Client_id执行password grant流程,无需传入client_secret

问题原因

报错AADSTS7000218是因为该应用被标记为机密客户端(如Web应用/API类型),这类应用必须验证自身身份,因此要求传入client_secret或client_assertion。而公共客户端(桌面、移动应用)无法安全存储密钥,Azure AD允许这类应用跳过密钥验证,直接通过password grant获取令牌。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 03:55:17