如何在 API 调用调用的操作中访问令牌声明

问题描述

场景:用户通过我的应用程序 (android) 使用 App ID 登录。该应用程序进行调用函数的 API 网关调用。该函数需要用户的身份(即身份令牌的声明)。该功能已启用 IAM,API 受 App ID 保护。

调用时,函数参数和环境变量不包含有关授权调用者的信息。操作的参数确实包含授权标头,但是当它被解码时,它是函数调用的标头,而不是来自 API 调用的标头。环境变量也不包含这些信息。

我在 AWS 上进行了这项工作,但我无法发现它是如何在 IBM 云上完成的。我怀疑需要在操作上设置一个参数,但我还没有发现这样做所需的变量。是否有可用于设置参数值的变量列表?

我期待的是一种让 API 网关将标头(即授权)从 API 调用转发到我可以提取声明的函数调用方法

解决方法

将授权标头设置为用户身份令牌而不是访问令牌的 API 请求修复了它。函数接收的参数包括身份令牌声明。