クライアント要求でアクセストークンを作成する方法とLambda-authorizerコードで検証する方法 -- python-3.x フィールド と oauth-2.0 フィールド と aws-lambda フィールド と aws-api-gateway フィールド 関連 問題

how to create a access token in the client request and how to validate it in the lambda-authorizer code?












0
vote

問題

日本語

私はAPI Gatewayの開発に新規で、Lambda authorizerをAPIゲートウェイを固定するようにしようとしています。私はすでに下記のようにさまざまな文書を経験しましたが、それでもクライアントがすでにリクエストで生成されたベアラトークンがどのように生成されたか、およびLambda-autherizerがこのトークンを検証する方法を理解していませんか?

<事前> <コード> https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-use-lambda-authorizer.html https://github.com/awslabs/aws-apigateway-lambda-authorizer-blueprints/blob/master/blueprints/python/api-gateway-authorizer-python.py

これまでのところ、GitHubにあるコードの下記のコードでLambda-authorizerを作成し、Authoアカウントからキーを付けました。それから、私はAPIゲートウェイに承認者を添付し、「メソッドリクエスト」で同じことを有効にしました。 展開した後、Postmanを介してAPIを呼び出します。 "message": "unauthorized '

<事前> <コード> https://github.com/serverless/examples/blob/master/aws-python-auth0-custom-authorizers-api/lambda_handlers.py

今私はラムダからの応答を得るために要求に必要なものを混同しましたか?

誰かがそれを統合してテストするために適切な例でこれを助けることができるかどうかを感謝しますか?

ありがとう

英語

I am new to api gateway development and trying to integrate lambda authorizer to secure the api gateway. I already gone through different documents as mentioned below, but still didn't understand how client have bearer token generated already in the request and how lambda-authorizer validate this token?

https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-use-lambda-authorizer.html  https://github.com/awslabs/aws-apigateway-lambda-authorizer-blueprints/blob/master/blueprints/python/api-gateway-authorizer-python.py 

so far i have created the lambda-authorizer with below code found in the github and have attached the key from the autho account. Then i have attached the authorizer in the api gateway and enabled the same in the 'Method Request'. After i deployed, i invoked the api via postman, which return: "message": "Unauthorized'

https://github.com/serverless/examples/blob/master/aws-python-auth0-custom-authorizers-api/lambda_handlers.py 

Now i confused on what needs to be provided in the request in order to get the response from the Lambda?

Appreciate if anybody can help on this with proper example in order to integrate and test it?

Thanks

</div
           

回答リスト

0
 
vote
vote
ベストアンサー
 

JWTトークンアプローチを実装します。トークンを返す認証プロバイダが必要です。認証プロバイダの例はAUTH0であるか、自分のものを転がすことができます。

フローは次のようになります:

  1. あなたのクライアントはこのプロバイダと一緒にユーザー認証を実行します。プロバイダはあなたのクライアントにトークンを返します。クライアントは、要求ペイロードのAPI Gatewayに承認ヘッダーを介してトークンを渡す必要があります。

  2. APIゲートウェイは、Tokenを承認/検証するためにLambda authorizerを呼び出します。 Lambda authorizerコードは、認証プロバイダを使用してトークンを検証し、かつて許可された場合はAPI呼び出しを行うことを可能にするポリシーを返します。

 

Implement JWT Token approach.You will need an authentication provider that will return you the token. Example of authentication provider is Auth0 or you can roll out your own.

The flow would be:

  1. Your client will perform user authentication with this provider. The provider will return the token to your client. The client need to pass the token via Authorization header in your request payload to API Gateway.

  2. API Gateway will call Lambda Authorizer to authorize / validate the token. The Lambda Authorizer code must verify the token with the authentication provider and once authorized will return a policy that allows the API call to be made.

</div
 
 
   
   

関連する質問

-1  AWS Lambda DOT Net Core 3.1は、ASPOSEセルを.NETに使用する場合、GDIP例外をスローします。  ( Aws lambda dot net core 3 1 throws gdip exception when using aspose cells for n ) 
.NETのASPOSEセルを使用して、DOT Net Core 3.1でExcelをPDFに変換しています。それは地元の環境で完全に働いていますが、私がAWS環境(AWS Lambda)でホストされているとき(AWS Lambda)はというエラーをスローしま...

5  サーバーレスyaml configの$サインをエスケープする方法  ( How to escape sign in serverless yaml config ) 
の「Nofollow Noreferrer」> 次のエラーが表示されたら、展開しようとします。 変数StageVariables.CapabilitySecurityURLの場合の無効な可変基準構文。 env vars、オプション、およびampのみを...

1  AWS Lambda WebSocketとSageMakerを使用したビデオ分類  ( Video classification with aws lambda websocket and sagemaker ) 
AWS SageMakerでWebカメラのビデオ分類をしようとしています。私は現在、概念実証のパイプラインを持っています。 フロントエンドビデオのフレームを取得 WebSocketでAWS API Gateway に送信します。 は、Lambdaプロキシ...

3  AWS LambdaのApollo GraphQLサービスはNULLのプロパティ 'accept'を読み取ることができません  ( Apollo graphql service on aws lambda cannot read property accept of null ) 
AWSのApollo GraphQLサービスLambdaはNULL のプロパティ 'accept'を読み取ることができません <事前> <コード> { "errorType": "TypeError", "errorMessage": "Cannot rea...

4  APIゲートウェイの並べ替えクエリ文字列  ( Api gateway sorting query string ) 
現在、API Gateway + Lambda上のサーバーレスフレームワークを使用してExpressアプリケーションを実装しようとしています。私が最後に署名するリクエストを紹介し始めるまで、すべてが期待どおりに機能しました。署名は、秘密トークンを使用してクエリ...

1  別の独立したラムダのAWS API Gatewayホスト名を取得  ( Get aws api gateway host name in another independent lambda ) 
サーバーレスデプロイを使用してAPIゲートウェイを作成しました。 AWSはゲートウェイのURLを動的に動的に作成します。 https://xxxx.execute-api.us. -west-2.amazonaws.com/test/hello ここで...

4  Lambdaプロキシ統合によるAPI Gatewayの応答をAWSに追加する方法  ( How to add cors header to aws api gateway response with lambda proxy integration ) 
Lambda Proxy統合を備えたAWS APIゲートウェイのバックエンドとしてLambdaを使用し、ResponseヘッダーにCORを追加したいです。 文書に従って: <事前> <コード> <?php $c = new mysqli('localhos...

2  プロキシ統合を使用してAPIゲートウェイを介してAWS Lambdaをトリガーします  ( Trigger aws lambda through api gateway using proxy integration ) 
私はちょうどAWSから始めて、AWS Lambdaで基本的な電卓を下記のようにしています。 <事前> <コード> import json def lambda_handler(event, context): op1 = event.get('op1',0)...

0  AWS DeviceFarm:「Schedulerun」APIに渡されたTest.Parametersにアクセスする方法  ( Aws devicefarm how to access test parameters passed to schedulerun api ) 
誰もが schedulerun API? これは私がしているものです: test.filter で実行するテストの入力を渡します。 test.parameters でテストに必要なパラメータを渡します。私はそれが有効なJSONオブジェクトであること...

1  LabMBDAプロキシを介したAPI Gatewayのログ要求/応答  ( Log requests responses in api gateway through labmbda proxy ) 
私は完全な要求+の応答を含むようにしたいと思います。 API GatewayでAPI Gatewayで受信されたボディは、別のサーバーへの処理要求を渡しながら(リクエストをリバースプロキシのように)。 API GatewayからCloudWatchへの標準ロギ...




© 2022 cndgn.com All Rights Reserved. Q&Aハウス 全著作権所有