3

我现在使用 cognito 用户池作为“账户系统”,并且还创建了一个身份池,使用 IOS app 可以让用户注册、登录、获取账户身份 id、同步数据集等操作。

然后我使用 Cognito 用户池作为 Oauth2.0 服务器来实现 Alexa Smart Skill 账户链接,已经能够实现账户登录,获取 AccessToken。(我在Alexa论坛发帖,他们回复我只能获取AccessToken,https: //forums.developer.amazon.com/questions/81362/get-id-token-from-alexa-request-when-account-链接.html )

但是根据我之前的经验,如果要访问Identity pool,获取Identity ID,需要ID_token,所以想问一下,有没有办法可以通过AccessToken或者用户名获取Id_Token或者identity ID?

AWS.config.credentials = new AWS.CognitoIdentityCredentials({
    IdentityPoolId: 'us-east-1:79abd6b8-f141-4756-9272-a09ed0671d1b',
    region: 'us-east-1',
    Logins:{
         'cognito-idp.us-east-1.amazonaws.com/us-east-1_S5kbwuSkN' : id_token
    }
});
4

1 回答 1

0

您只能使用 id_token 获取身份 id 以访问身份池。要获取 id_token,您需要在 Cognito 用户池中配置您的应用程序客户端以将“openid”作为范围。

于 2017-12-08T19:45:59.903 回答