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

无需用户交互从Azure第一方应用获取Access Token的方法

无用户干预获取第一方应用(FPA)的Delegated Graph API权限令牌(Power Automate实现)

核心方案:使用ROPC OAuth2流(用户名/密码流)

针对你的需求,第一方应用(FPA)要无用户干预获取代表用户的Delegated权限令牌,可通过Resource Owner Password Credentials (ROPC)流实现,结合Power Automate的HTTP动作即可完成。

前提条件

  • 你的FPA已在Azure AD应用注册中启用ROPC流(第一方应用通常默认允许,可在"认证"->"高级设置"中确认)
  • 持有目标用户的用户名(UPN格式,如user@domain.com)和密码,且该用户未启用MFA、非联邦身份用户
  • FPA已配置所需的Delegated Graph API权限(权限无需用户手动同意,或已完成管理员批量同意)

Power Automate实现步骤

  1. 创建新云流(手动/定时触发均可)
  2. 添加HTTP动作,配置参数:
    • 方法:POST
    • URI:https://login.microsoftonline.com/{你的租户ID}/oauth2/v2.0/token
    • 请求头:添加Content-Type = application/x-www-form-urlencoded
    • 表单数据(正文):
      • client_id:FPA的应用ID
      • scope:目标Graph API权限范围(多个用空格分隔,如https://graph.microsoft.com/Mail.Read User.Read)
      • username:目标用户的UPN
      • password:用户密码(建议用Power Automate机密变量或Azure密钥保管库调用,禁止明文存储)
      • grant_type:固定值password
  3. 执行流后,解析返回的JSON响应,提取access_token字段,即为所需的Delegated权限令牌
  4. 将令牌存入变量,后续可直接用于调用Graph API接口

关键注意事项

  • ROPC流不支持MFA用户和联邦身份用户,若用户启用MFA,该方案不可用
  • 密码必须通过安全方式存储,推荐使用Azure密钥保管库,通过Power Automate的密钥保管库连接器动态获取,避免泄露风险
  • 第一方应用的权限范围需严格控制,仅申请业务必需的Graph API权限,遵循最小权限原则

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 11:45:57