4

Facebookに接続しているユーザーからAWS API Gatewayにアクセスしようとしています。JavaScriptでFacebookに接続したCognitoを使用したAWS APIゲートウェイへのアクセス

私はシンプルなユーザープール(Facebookログインなし)でCognitoを使用しようとしましたが、私のユーザーはユーザー名とパスワードを送信してログインできます.Cognitoは私のautorizerを経由してアクセストークンを送り返します私のコントローラにアクセスしてください。すべてうまく動作します。

次に、Facebookを使用してAPIに接続したいと考えました。だから私はこれをしなかった:

AWS.config.region = 'eu-west-1'; 
AWS.config.credentials = new AWS.CognitoIdentityCredentials({ 
IdentityPoolId: {myIdentityPoolId},Logins: { 
      'graph.facebook.com': {myFacebookToken} 
     } 
    }); 

AWS.config.credentials.get(function(err) { 
    if (err) 
     console.log(err); 
    else { 
     console.log("Cognito accessKeyId ", AWS.config.credentials.accessKeyId); 
     console.log("Cognito secretAccessKey ", AWS.config.credentials.secretAccessKey); 
     console.log("Cognito sessionToken ", AWS.config.credentials.sessionToken); 
     console.log("Cognito Identity Id ", AWS.config.credentials.identityId); 
    } 
}); 

すべてが正常であると思われる、私はaccessKeyId、secretAccessKey、はsessionToken、身元ID、しかし、私は私のAPIにアクセスするために、次に行うことsuposedいを受けました。

私のAPIの設定では、ユーザプールのみでオーサライザを作成できますが、フェデレーションエンティティでは作成できません。

実際、私はフェデレーションエンティティの目的を理解していません。 誰かが私を助けたり、Facebookの接続の基本的な例を教えてくれたら嬉しいです。

ありがとうございます!

+0

[Cognito連合IDとのAPIゲートウェイ認証]の可能な複製(http://stackoverflow.com/questions/39019244/api-gateway-authentication-with-cognito-federated-identities) –

答えて

1

この質問は、thisポストにかなり正確に回答されています。ここで述べたように、API GatewayではIAM_AUTHを使用し、Cognito IDから取得したトークンでリクエストに署名する必要があります。リクエストに署名する方法の詳細は、hereです。

ありがとうございます!リティシャ。

関連する問題