6

私はAPI GatewayとLambdaに基づいてアプリケーションを開発しています。私はPOSTを設定した/ "AWS_IAM"として購読します。今すぐ直接アクセスすることはできませんが、Cognito認証でAPIにアクセスできます。ラムダにCognitoのユーザー情報を渡すには?

問題は私のラムダは、誰がAPIの呼び出し元であるか分からない。それを知る方法?

「Bob」と「John」という2人のユーザーがいます。私のラムダは、発信者がボブかジョンかを知る必要があります。

おかげで、

答えて

5

context Object Properties section of the Lambda Programming Model help topicで説明したようにあなたはcontextパラメータ(context.identity)のidentityプロパティからCognitoアイデンティティIDを取得することができます。 Cognito固有の識別子を取得すると、Cognito SyncのAPIを開発者の資格情報とともに使用して、Cognitoでこのユーザーに関する情報を検索したり、そのIDを使用してIDを他の場所に格納されているユーザー情報にマッピングできます。

APIゲートウェイがAWS_IAM用に設定されていることを確認し(前述のとおり)、メソッドの「統合要求」設定で「呼び出し元の認証情報で呼び出し」がオンになっていることを確認します。

+0

ありがとうございました。それはGETメソッドで動作します。しかし、マッピングはDELETE、POSTなどの方法では動作しません。特別な構成はありますか? – user2882027

+1

私は同じ問題を抱えています。私はAPIゲートウェイチームにpingをして、ここに手を差し伸べてください。 –

+1

"application/json"からコンテキストタイプを "text/plain"に変更しました。 – user2882027

関連する問題