1

私は以下のようにtutorialに続き、facebookログインを有効にしました。最後にはaccessTokenが表示されます。AWSサービスにアクセスするためにアクセストークンを送信する方法 - BEGINNER

FB.login(function (response) { 

    // Check if the user logged in successfully. 
    if (response.authResponse) { 

    console.log('You are now logged in.'); 

    // Add the Facebook access token to the Cognito credentials login map. 
    AWS.config.credentials = new AWS.CognitoIdentityCredentials({ 
     IdentityPoolId: 'IDENTITY_POOL_ID', 
     Logins: { 
     'graph.facebook.com': response.authResponse.accessToken 
     } 
    }); 

    // Obtain AWS credentials 
    AWS.config.credentials.get(function(){ 
     // Access AWS resources here. 
      console.log('Access Token is '+ AWS.config.credentials.identityId); 
     var s3= new AWS.s3(); 

    }); 

    } else { 
    console.log('There was a problem logging you in.'); 
    } 

}); 

私はコードLogins: { 'graph.facebook.com': response.authResponse.accessToken }の次の行がCognitoaccessTokenを登録すると確信しています。私が間違っていれば私を訂正してください。

私の問題があり、私はこれにaccessTokenを保存して、今まで私がAWSサービスと通信していたときにそれを渡す必要があります(例:DynamoDB書き込み項目または他のS3にファイルを追加する際に)?

もしそうなら、どうすればいいですか? (私はほとんどウェブ全体をGoogleで検索し、この上のどれも認められません)

**注:私はaccessTokenの目的は、ユーザの要求がAWSサービスにアクセスする際にいくつかのセキュリティを追加することだと思います。その場合、どうすればaccessTokenを使用して検証できますか?

答えて

0

Cognitoを呼び出していくつかの資格情報を取得すると、CognitoはこれをCognitoに登録し、その認証済みのIDにスコープされた資格情報を戻します。

これらの認証情報だけでそのトークンにマップされるため、アクセスする際に他のAWSクライアントに与える必要があるのは認証情報だけです。つまり、これらの資格情報の有効期限が切れた後は、その認証された識別情報をさらに取得するには、トークンを手元に置いておく必要があります。 Cognitoは、認証されたアイデンティティにリンクされた少なくとも1つのトークンを使用して、その資格情報を取得する必要があります。

+0

資格情報とは、「地域/アプリID /秘密鍵」などを意味しますか?もしそうなら、クレデンシャルはどのように期限切れになりますか? – Illep

+0

AWS資格情報のように、AWS.config.credentials.getが返す(http://docs.aws.amazon.com/cognito/latest/developerguide/getting-credentials.htmlを参照)。Cognitoが返す認証情報は、 –

+0

もし私が 'DynamoDB'または' S3'にアクセスしようとした場合は、上記のリンクに記載されているものを渡すべきでしょうか?資格が満了すれば通知されますか?私はもう一度期限を延長すると思いますか?(これらの質問はすべて申し訳ありませんが、私は初心者です.1週間はこの問題に悩まされています) – Illep

関連する問題