外部API调用Firebase Functions的OAuth2凭证生成与配置问题
配置操作说明
核心流程澄清
首先对应翻译对方的要求:
请向我们(外部API)提供ID和访问凭证,我们将使用这两个凭证请求对应URL获取Bearer令牌,后续我们会用这个Bearer令牌调用你提供的Webhook地址,直到令牌在预设有效期后过期。
对方配置页的四个字段对应含义:
- OAuth2 access token url:OAuth2令牌获取地址
- OAuth2 client id:OAuth2客户端ID
- OAuth client secret:OAuth2客户端密钥
- OAuth2 Scope:OAuth2权限范围
不需要你提前生成单独的access token给到外部API,对方会通过你提供的客户端ID、客户端密钥,主动请求令牌获取地址自动获取有效期内的Bearer令牌。
各字段配置生成方法
1. OAuth2令牌获取地址、客户端ID、客户端密钥
使用Google Identity Platform作为OAuth2身份提供者,操作步骤如下:
- 进入Google Cloud控制台,打开「API和服务」→「凭据」页面
- 点击「创建凭据」→「OAuth 客户端ID」
- 应用类型选择「Web应用」,名称可填写对接的外部API名称做标识
- 创建完成后即可获得生成的
client_id(客户端ID)和client_secret(客户端密钥),直接填入对方配置页对应字段即可 - OAuth2令牌获取地址固定填写:
https://oauth2.googleapis.com/token
2. OAuth2 Scope字段填写
Scope用于限制Bearer令牌的访问权限范围,避免令牌被滥用,根据你的权限控制精度选择填写即可:
- 通用场景直接填
https://www.googleapis.com/auth/cloud-platform,适配Google IAM原生校验规则 - 如需更精细的权限控制,可自定义Scope值,比如填写
你的项目ID/webhook_access,后续你在Firebase Functions代码中校验传入的Bearer令牌Scope包含该自定义值即可。
Firebase Functions侧补充校验逻辑
外部API调用你的Webhook时,会在请求头中携带Authorization: Bearer <有效令牌>,你需要在函数入口处先校验令牌的签发合法性、客户端ID匹配性,校验通过后再执行后续业务逻辑,避免非法请求入侵。
内容的提问来源于stack exchange,提问作者Cristian Avalos
相关产品推荐
相关产品推荐

