我正在使用无服务器。
当我在客户端上设置以下其中一项功能(包括授权者)时,会收到401。
但是,当我删除它时,没有任何问题。
provider:
name: aws
runtime: nodejs8.10
region: eu-west-1
environment:
USER_POOL_ARN: "arn:aws:cognito-idp:eu-west-1:974280.....:userpool/eu-west-1........"
functions:
create:
handler: handlers/create.main
events:
- http:
path: create
method: post
cors: true
authorizer:
type: COGNITO_USER_POOLS
name: serviceBAuthFunc
arn: ${self:provider.environment.USER_POOL_ARN}
在客户端上,我希望同一用户池的登录用户可以得到预期的响应。但是,它返回401。
感谢您的帮助。谢谢。
答案 0 :(得分:0)
经过数小时的拼搏,我提出了解决方案。
对于遇到相同问题的任何人,这都是对我有用的解决方案。
integration: lambda
之后添加cors: true
(尽管顺序无关紧要)。下面只是演示了这一点。
functions:
create:
handler: handlers/create.main
events:
- http:
path: create
method: post
cors: true
integration: lambda // this solves the problem
authorizer:
type: COGNITO_USER_POOLS
name: serviceBAuthFunc
arn: ${self:provider.environment.USER_POOL_ARN}
Authorization
标头发送Auth.currentSession()。idToken.jwtToken值。 以下是使用API
的{{1}}和@aws-amplify/api
的{{1}}发送标头的示例。
Auth