0

私はこの問題を解決するのに苦労しています。誰かが私が集めることができる実用的なコード例があるのだろうかと思います。 AWS API Gatewayがガラス張り、およびカスタム承認者で構成され、(BizFunctionそれを呼び出してみましょう)STSとカスタムオーセンティケータを使用したAWS APIゲートウェイ - ブラウザクライアントを使用しているすべてのユーザーですか?

  • 一つAWSラムダ関数:ここに私の要件です。
  • 別のAWSラムダ関数(それをLoginFunctionと呼ぶ)も、AWS APIの前には何の権限もありません。ログイン処理中、LoginFunctionはユーザーデータベースに対するユーザーの資格情報の入力を認証し、確認されればSTSとのCognito IDを作成します。信任状、セッショントークンなどは、その後、ユーザのブラウザに返されます。

私が理解できないことは、BizFunctionを呼び出すコードを書く方法です。私はAWS API Gatewayによって提供された生成されたクライアントSDKを使用しています。私のカスタムオーソライザは "AWS4-HMAC-SHA256 Credential = ..../2016 ..../eu-west-2/execute -api/aws4_request、SignedHeaders =受け入れ;ホスト; x-amz-date; x-api-key、Signature = ..... "。しかし、それをCognitoのアイデンティティに変換するにはどうしたらいいですか?

私のクライアントはブラウザであり、私が見つけたほとんどの例はモバイルベースです。誰も私がどのように進めることができるかについての実例やポインタを持っていますか?

ありがとうございます!

答えて

1

AWS資格情報で署名されたリクエストでカスタム認証者を使用することはできません。セッション資格情報を使用してAPIゲートウェイへのリクエストに署名する場合は、単に「AWS_IAM」認証を有効にします。

身元を確認したい場合は、$context.identity variablesの一部として利用できます。

+0

ありがとうございました!私はまだAWSをかなり新しくしていますので、私はあなたの答えを部分的にしか理解できませんでした。 –

+0

現時点では、HTTPヘッダーを介してアイデンティティID(ハッシュされた)を送信することで、カスタムオーソライザで多かれ少なかれ機能するようになりました。あなたが言及したこと、つまりAWSクレデンシャルでリクエストに署名するために、これに関する詳細なドキュメントはありますか?私はdocs.aws.amazon.comでたくさんのものを読んできましたが、私には十分な詳細はありません。 –

+0

しかし、同じクライアントコード(アイデンティティコードの返送を差し引いたもの)は、カスタムオーソライザで動作します。読んでいただき、ありがとうございました。 –

関連する問題