如何配置我的无服务器 YML 以使用我的 API 网关授权方?
How to configure my Serverless YML to use my API Gateway Authorizer?
我正在按照 this 教程使用 Cognito 授权通过 API 网关访问我的 lambda 函数。
我已经使用经过验证的用户、API 网关授权方和用于登录并获取令牌 ID 的 lambda 函数创建了我的用户池。
当我使用我的 lambda 函数获取令牌 ID 并在 AWS 控制台中对其进行测试时,授权方 returns 200,所以我认为它在工作,但是当我尝试将令牌发送到我的 lambda 函数时它 returns“401 未经授权”
我的 YML 配置:
teste:
handler: handler.teste
memorySize: 128
events:
- http:
path: teste
method: get
authorizer:
name: api-authorizer
arn: arn:aws:cognito-idp:XXXXXXXXX:XXXXXXXXXX:userpool/XXXXXXX_XXXXXXX
type: token
编辑
我查看了 AWS 控制台我的 lambda 函数如何,API 网关触发器有以下详细信息:
Autorização: COGNITO_USER_POOLS
Caminho do recurso: /teste
Endpoint de API: https://XXXXXXXXX.execute-api.XXXXXXXXX.amazonaws.com/dev/teste
Estágio: dev
Método: GET
编辑 2
我还发现我的无服务器版本是 1.47,它看起来是最新的,尽管我在 Stack 上阅读了一些问题,他们说无服务器版本是 1.5
我读了几次 this 页面,我意识到我没有使用正确的方法,所以我将我的 YML 代码更改为:
functions:
teste:
handler: handler.teste
memorySize: 128
events:
- http:
path: teste
method: get
type: COGNITO_USER_POOLS
authorizer:
arn: arn:aws:cognito-idp:XXXXXXXX:XXXXXXXXX:userpool/XXXXXXXX_XXXXXXXXX
authorizerId:
Ref: api-authorizer
并且我还将我的授权源更改为授权。
我正在按照 this 教程使用 Cognito 授权通过 API 网关访问我的 lambda 函数。
我已经使用经过验证的用户、API 网关授权方和用于登录并获取令牌 ID 的 lambda 函数创建了我的用户池。
当我使用我的 lambda 函数获取令牌 ID 并在 AWS 控制台中对其进行测试时,授权方 returns 200,所以我认为它在工作,但是当我尝试将令牌发送到我的 lambda 函数时它 returns“401 未经授权”
我的 YML 配置:
teste:
handler: handler.teste
memorySize: 128
events:
- http:
path: teste
method: get
authorizer:
name: api-authorizer
arn: arn:aws:cognito-idp:XXXXXXXXX:XXXXXXXXXX:userpool/XXXXXXX_XXXXXXX
type: token
编辑
我查看了 AWS 控制台我的 lambda 函数如何,API 网关触发器有以下详细信息:
Autorização: COGNITO_USER_POOLS
Caminho do recurso: /teste
Endpoint de API: https://XXXXXXXXX.execute-api.XXXXXXXXX.amazonaws.com/dev/teste
Estágio: dev
Método: GET
编辑 2
我还发现我的无服务器版本是 1.47,它看起来是最新的,尽管我在 Stack 上阅读了一些问题,他们说无服务器版本是 1.5
我读了几次 this 页面,我意识到我没有使用正确的方法,所以我将我的 YML 代码更改为:
functions:
teste:
handler: handler.teste
memorySize: 128
events:
- http:
path: teste
method: get
type: COGNITO_USER_POOLS
authorizer:
arn: arn:aws:cognito-idp:XXXXXXXX:XXXXXXXXX:userpool/XXXXXXXX_XXXXXXXXX
authorizerId:
Ref: api-authorizer
并且我还将我的授权源更改为授权。