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

调用TestInvokeAuthorizer时遇Missing Authentication Token问题求助

问题分析与解决方案

核心原因

你遇到的MissingAuthenticationTokenException错误,并非来自自定义授权器关联的Lambda函数,而是调用AWS IoT的TestInvokeAuthorizer管理API本身时的身份验证失败:

  • aws iot test-invoke-authorizer属于AWS管理类API,默认要求通过AWS凭证签名才能调用,你添加的--no-sign-request参数会跳过签名流程,导致AWS服务无法识别你的身份,抛出该错误。
  • 这个参数的适用场景是IoT设备端的无签名请求(比如直接调用IoT数据端点),而非测试授权器的管理API调用。

解决方案

  1. 修正CLI测试命令
    移除命令中的--no-sign-request参数,正确的测试命令应为:

    aws iot test-invoke-authorizer --authorizer-name sneha-test --token "MyToken" --profile sneha
    

    你的sneha SSO配置会自动处理API调用的签名,无需禁用签名。

  2. React代码调用修正

    • 如果代码是调用TestInvokeAuthorizer管理API:确保使用AWS SDK(如@aws-sdk/client-iot)并正确配置SSO凭证,无需手动禁用签名。
    • 如果目标是模拟设备无签名调用IoT服务:直接请求IoT数据端点,并将Token放在自定义授权器配置中指定的位置(比如请求头、查询参数,对应授权器创建时的tokenKeyName字段)。
  3. 验证授权器Token来源配置
    确认自定义授权器创建时的tokenKeyName参数与Lambda函数的输入逻辑匹配:比如Lambda期望从token字段取值,需确保授权器配置的tokenKeyName对应正确的请求位置(HTTP查询参数、请求头等)。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 11:31:04