【问题标题】:Alexa Account Linking with CognitoAlexa 帐户与 Cognito 关联
【发布时间】:2018-03-30 19:28:00
【问题描述】:

您会认为亚马逊的两种产品可以很好地集成在一起。您还会认为亚马逊会提供有关其服务的适当文档。两者都大错特错。

我正在使用与 Alexa 关联的账户,并使用 AWS Cognito 作为我的 oauth 提供者。我能够很好地成功链接我的帐户,并且在随后的每次 alexa 调用中,我都会收到一个返回给我的访问令牌。现在呢?

我需要能够从我的 alexa lambda 函数访问其他 AWS 服务,例如 dynamo、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);
    }
});

但当然没那么简单。谁能帮帮我?

【问题讨论】:

  • 遇到了同样的问题。你找到解决方案了吗?
  • 我需要一些帮助,我想通过 Cognito 用户池登录技能,知道怎么可能吗?
  • 这可能会有所帮助:medium.com/@ankit81008/…

标签: amazon-web-services aws-lambda aws-sdk alexa-skills-kit aws-cognito


【解决方案1】:

您需要为 IAM 下创建的“角色”分配适当的“策略”。所有 AWS 服务都使用基于策略的访问权限,并且这些权限必须明确附加到 IAM 角色,该角色才能代表该用户角色访问/运行基础服务。

总的来说,您需要从 IAM 分配与“IOT”、“DynamoDB”、“Lambda”等相关的策略。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-08-19
    • 1970-01-01
    • 2018-10-04
    • 1970-01-01
    • 1970-01-01
    • 2012-11-27
    • 2015-09-15
    • 1970-01-01
    相关资源
    最近更新 更多