[英]What is the correct Access Token URI for AWS Cognito and Alexa account linking?
[英]Alexa Account Linking with Cognito
您會認為Amazon的兩種產品可以很好地集成在一起。 您還認為Amazon將提供有關其服務的適當文檔。 兩者都是非常錯誤的。
我正在使用與Alexa的賬戶鏈接,並使用AWS Cognito作為我的oauth提供商。 我能夠很好地成功鏈接我的帳戶,並且在隨后的所有alexa調用中,我都獲得了一個返回給我的訪問令牌。 怎么辦?
我需要能夠從我的alexa lambda函數訪問其他AWS服務,例如發電機,lambda和iot。 以為它會像這樣簡單:
var accessToken = event.session.user.accessToken;
var params = {
IdentityPoolId: "{identity_pool_id}",
Logins : {
'cognito-idp.us-east-1.amazonaws.com/{user_pool_id}' : accessToken
}
};
AWS.config.region = 'us-east-1';
AWS.config.credentials = new AWS.CognitoIdentityCredentials(params);
AWS.config.credentials.get(function(err) {
if (err) {
console.log(err);
} else {
console.log('success');
console.log("Cognito Identity Id: " + AWS.config.credentials.identityId);
}
});
但是當然不是那么簡單。 誰能幫我嗎?
您需要為IAM下創建的“角色”分配適當的“策略”。 所有AWS服務都基於基於策略的訪問權限,並且必須將這些服務與IAM角色明確關聯,以使該角色能夠代表該用戶角色訪問/運行基礎服務。
總之,您需要從IAM分配與“ IOT”,“ DynamoDB”,“ Lambda”等相關的策略。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.