簡體   English   中英

Alexa帳戶與Cognito關聯

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM