2

ラムダと一緒に遊んで、ウェブアプリを認証しようとしています。私はlambdAuthをスターターとして使って物事を進めています。 https://github.com/danilop/LambdAuthAwsラムダ/ Api-Gateway/Cognitoが協力して

最初にメンバーを認証し、cognitoからトークンを返すapi-gatewayサービスが必要です。その後api-gatewayのすべてのサービスは、サービスへのアクセスを許可するために何らかの理由でCognitoから返されたものを受け入れる必要があり、サービスなしでは失敗します。私はちょっとコグニトを使う方法とちょっと混乱しています。あなたのサービスのAuthorizationにAWS_IAMタグを追加してapi-gatewayサービスを制限しているとしますが、そのサービスを呼び出す方法はわかりません...

LambdAuthの現在の実装では、lambdaを直接呼び出しているこのクライアント側(ブラウザ内)のすべてを実行します。 AWS.config.credentialsを取得し、cognitoから戻ったIdentityIdとログインを追加し、ログインする必要のあるラムダ関数を呼び出します。ラムダの代わりにapi-gatewayを呼び出すと、これはどのように動作しますか?そのAWS_IAM認証を渡すために、私はどのようにしてCognitoから戻ったものを受け取り、サービスコールに追加しますか?

ボートを逃しイムは完全にも可能thatsの場合はすべてのヘルプは... APIゲートウェイの背後のauthを扱うラムダ関数について

答えて

3

を高く評価し、またはされ、ユーザーが持っていないとして、あなたは、不正であることを彼らが必要になりますまだログインしていません。

承認されたAPIゲートウェイの背後にあるラムダ機能については、クライアントをインスタンス化するときに取得した認証情報をCognitoから渡す必要があります。

あなたが開発者の認証を行っているので、あなたがあなたのバックエンド/ラムダ関数からCognitoトークンを取得するときに、あなたのアプリであなたはまだ認証情報を取得する必要がありますように見えます

AWS.config.credentials = new AWS.CognitoIdentityCredentials({ 
    IdentityPoolId: 'IDENTITY_POOL_ID', 
    IdentityId: 'IDENTITY_ID_RETURNED_FROM_YOUR_PROVIDER', 
    Logins: { 
     'cognito-identity.amazonaws.com': 'TOKEN_RETURNED_FROM_YOUR_API' 
    } 
}); 

その後、資格情報から

​​
+0

おかげでマーク、イム秒:あなたのAPI Gatewayクライアントのインスタンス化

:あなたのAPI Gatewayクライアントをインスタンス化するために、アクセスキー、秘密鍵、およびセッションキーが必要になりますこれが助けになるかどうかを確認してくださいJavaScriptからApi Gatewayを呼び出すことを前提としているので、私がしたいのは、通常の休憩サービスコールだけです。私のクライアントがAWSライブラリをロードする必要はありません。だから、もしそのaccess_keyとsecret_keyがヘッダとして追加されているのか、それともどういう仕組みになっているのかわからないのですが、私はおそらくどこかで私の鍵を取り戻すことができます。ありがとう – 3uPh0riC

+0

こんにちは@ 3uPh0riC、最終的にそれを解決する? – hanbzu