当前位置:  开发笔记 > 编程语言 > 正文

Cognito用户池授权程序使用无服务器框架

如何解决《Cognito用户池授权程序使用无服务器框架》经验,为你挑选了2个好方法。

我需要使用aws cognito userpool授权我的API端点.我可以手动完成,但我需要使用无服务器框架自动化授权部分.

无服务器框架是否支持aws cognito?

如果是这样,我们如何设置无服务器的aws-userpool?



1> Niroshan Ran..:

是的 无服务器(v1.5)支持Cognito用户池授权程序.

如果您使用以前版本的无服务器,则必须更新v1.5或更高版本.

对于api端点的用户池授权,您必须指定pool arn.

functions:
  hello:
    handler: handler.hello
    events:
      - http:
          path: hello
          method: get
          integration: lambda
          authorizer:
            name: authorizer
            arn: arn:aws:cognito-idp:us-east-1:123456789:userpool/us-east-1_XXXXXX

更多详细信息阅读该文章.


@NiroshanRanapathi如何将授权者设置为您在serverless.yml的参考资料部分中声明的Cognito用户池?

2> Dehli..:

如果要将授权程序设置为您在资源中声明的Cognito用户池,则必须使用CloudFormation来创建授权程序.

functions:
  functionName:
    # ...
    events:
      - http:
          # ...
          authorizer: 
             type: COGNITO_USER_POOLS
             authorizerId: 
               Ref: ApiGatewayAuthorizer

resources:
  Resources:
    ApiGatewayAuthorizer: 
      Type: AWS::ApiGateway::Authorizer
      Properties: 
        Name: CognitoUserPool
        Type: COGNITO_USER_POOLS
        IdentitySource: method.request.header.Authorization
        RestApiId: 
          Ref: ApiGatewayRestApi
        ProviderARNs: 
          - Fn::GetAtt:
              - UserPool
              - Arn

    UserPool:
      Type: AWS::Cognito::UserPool

推荐阅读
无名有名我无名_593
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有