我遵循以下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 }
下面一行將在Cognito
註冊accessToken
。糾正我,如果我錯了。
我的問題是,我應該保存這個accessToken
並把它傳遞當過我與AWS
通信服務(例如:DynamoDB
寫項目或者同時增加了文件S3
)?
如果是的話我該怎麼做? (我幾乎GOOGLE了整個網絡,並沒有發現這個)
**注意:我認爲accessToken
的目的是增加一些安全性,當用戶請求訪問AWS
服務。那麼在那種情況下,我如何使用accessToken
進行驗證?
憑證是指'區域/應用程序ID /密鑰'等?如果是的話憑證如何過期? – Illep
憑證,如AWS.config.credentials.get(返回(參見http://docs.aws.amazon.com/cognito/latest/developerguide/getting-credentials.html))的AWS憑證。Cognito返回的憑據僅爲有效的一個小時 –
因此,如果我要訪問'DynamoDB'或'S3',我應該通過在上面發佈的鏈接中給出的內容?如果證書過期了,我會收到通知,如果是這樣?我想再次延長到期日(對不起,所有這些問題,我是一個新手,我一直堅持這個問題一個星期了) – Illep