Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用AWS API网关的JWT身份验证和转发_Python_Node.js_Amazon Web Services_Aws Api Gateway_Jwt Auth - Fatal编程技术网

Python 使用AWS API网关的JWT身份验证和转发

Python 使用AWS API网关的JWT身份验证和转发,python,node.js,amazon-web-services,aws-api-gateway,jwt-auth,Python,Node.js,Amazon Web Services,Aws Api Gateway,Jwt Auth,我需要开发一个身份验证模块。到目前为止,我有一个DynamoDB和一些端点来注册用户。下一步是设置一些API网关端点以接收JWT,验证它,如果确定,则将请求转发给另一个端点 我的问题是,我想使用类似Serverless或SAM的代码来开发它。现在我使用的是AWS web控制台,但是随着更多端点的添加,这将变得很难管理。我希望有一些版本控制和使用代码部署功能 简而言之。我需要一个带有JWT自定义授权器的api,如果获得批准,该授权器将请求转发给另一个端点,该端点将依次处理请求并返回响应 关于如何在

我需要开发一个身份验证模块。到目前为止,我有一个DynamoDB和一些端点来注册用户。下一步是设置一些API网关端点以接收JWT,验证它,如果确定,则将请求转发给另一个端点

我的问题是,我想使用类似Serverless或SAM的代码来开发它。现在我使用的是AWS web控制台,但是随着更多端点的添加,这将变得很难管理。我希望有一些版本控制和使用代码部署功能

简而言之。我需要一个带有JWT自定义授权器的api,如果获得批准,该授权器将请求转发给另一个端点,该端点将依次处理请求并返回响应


关于如何在不使用web控制台的情况下实现这一点,您有什么想法吗?

您可以使用无服务器框架来实现这一点

您需要定义一个lambda作为您的自定义授权人。然后您可以使用以下配置


您可能需要在stackexchange上发布此信息。除此之外,您是否询问如何在不使用AWS控制台的情况下进行部署,如果是,您可以设置IAM凭据并从CICD工具(如teamcity、circleci、bamboo等)进行部署
functions:
  create:
    handler: posts.create
    events:
      - http:
          path: posts/create
          method: post
          authorizer:
            name: authorizerFunc
            resultTtlInSeconds: 0
            identitySource: method.request.header.Authorization
            identityValidationExpression: someRegex
            type: token
  authorizerFunc:
    handler: handler.authorizerFunc