0

ユーザーがサインインできるWebサービスがあります。ユーザーがAPI経由でサービスとやりとりできるようにAWS API Gatewayをセットアップしたいと思います。ユーザー管理/パスワード管理は既にシステムに組み込まれているため、ユーザーは別のシステムに移動する必要はありません。APIゲートウェイがユーザー資格情報を既に格納しているサービスを提供する

私が最初Cognitoユーザプールに見えたが、私は完全にユーザー作成/検証プロセスを自動化することができませんでした、サポートチケットでAWSは、ユーザーが個別に電子メールを確認しなければならないと述べました。彼らはラムダ関数を使って認可を設定することを提案しました。

私はラムダ関数を作成したゲートウェイが許可されるAPIは、しかし、それは、1つの変数のみが認可のために送られるようにIdentity tokenに見えます。私がこれを行った場合、私のラムダ関数は私のサービスから、そのキーが有効であることを見つけることができますが、それは本当にユーザーにとっては関連していません。

私が後にしているのは、システムのクライアントIDとパスキーをユーザーに提供する方法です(そのすべてを生成することができます)。ユーザーはクライアントIDを使用してAPIゲートウェイのエンドポイントにリクエストを行いますpasskey、gatewayはクライアントIDとパスキーを検証のために私のシステムを呼び出すラムダ関数に送ります。ラムダは有効なポリシーを返します。そして、API GatewayはクライアントIDまたは他の識別子を返します。私のシステムは要求しているクライアントを知っています。

は何の別々のシステム(Cognito)にユーザーを取ることなく、これを達成するための最良の方法だろうか?

答えて

2

あなたのタイミングはちょうど1日早かったかもしれません。以前にカスタムオーソライザで経験したことは、TOKENオーソライザです。今日では、承認者タイプが新しいREQUESTのカスタム認可者のサポートが拡張されています。新しいREQUESTタイプは、リクエストパラメータ、ヘッダ、クエリ文字列などの要求を許可するための、大幅に拡張されたデータセットをサポートしています。詳細についてはCustom authorizer typesをご覧ください。

+0

私は後になった機能をリリースしたばかりですので、どうやら – Rudiger

+1

、あなたの質問の後の日のように(https://aws.amazon.com/about-aws/whats-new/2017/09/amazon-api-gateway-now-supports-enhanced-request-authorizers/) –

+0

ちょうどそれをテストし、治療をして、まさに私が後にしたものでした。 – Rudiger

関連する問題