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

Power Automate中使用Auth Code Flow调用API的可行性及实现方法咨询

在Power Automate中使用授权码流(Auth Code Flow)生成Bearer Token

1. 是否支持授权码流?

是,Power Automate可以通过自定义流程逻辑实现授权码流,核心是利用HTTP动作模拟授权码获取与令牌兑换流程,同时处理用户交互的授权环节(授权码流必须用户登录授权)。

2. 具体实现步骤

步骤1:配置身份提供商的应用注册

以Azure AD为例(其他OAuth2身份提供商逻辑类似):

  • 创建应用注册,设置重定向URI为Power Automate官方回调地址:https://global.consent.azure-apim.net/redirect
  • 记录应用的客户端ID、客户端密钥、租户ID,以及目标API的授权端点和令牌端点

步骤2:创建手动触发的Power Automate流程

选择「手动触发一个流」作为触发器,因为需要用户手动触发完成授权操作。

步骤3:获取授权码

添加「HTTP」动作:

  • 方法选GET
  • URI填写授权端点,示例格式:
    https://login.microsoftonline.com/{租户ID}/oauth2/v2.0/authorize?client_id={客户端ID}&response_type=code&redirect_uri=https://global.consent.azure-apim.net/redirect&response_mode=query&scope={API权限范围}&state=12345
    
  • 运行流程后,复制该动作返回的URL,在浏览器中打开并完成用户登录授权,授权成功后会跳转到回调地址,URL中会携带code参数(即授权码)

步骤4:提取授权码

添加「URI 查询参数」动作,输入授权后的回调URL,直接提取code参数的值。

步骤5:兑换授权码为Bearer Token

添加另一个「HTTP」动作:

  • 方法选POST
  • URI填写令牌端点,示例:https://login.microsoftonline.com/{租户ID}/oauth2/v2.0/token
  • 请求头部添加Content-Type: application/x-www-form-urlencoded
  • 表单数据填写以下参数:
    • grant_type: authorization_code
    • client_id: 你的客户端ID
    • client_secret: 你的客户端密钥
    • code: 步骤4提取的授权码
    • redirect_uri: https://global.consent.azure-apim.net/redirect(必须和之前配置的一致)
    • scope: 目标API的权限范围

步骤6:使用Bearer Token调用API

从令牌兑换的响应中提取access_token字段,后续调用目标API时,在请求头部添加:

Authorization: Bearer {access_token}

关键注意事项

  • 授权码有效期通常为10分钟,且只能使用一次,兑换后立即失效
  • 若需长期复用,可在令牌兑换时获取refresh_token,后续用其兑换新的访问令牌
  • 确保应用注册已被授予目标API的对应权限,且权限范围与流程中填写的scope一致

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 22:12:39