我开始使用 AWS C++ SDK 与 AWS Cognito 实施联合身份验证。
我想使用 Cognito 用户池和 Facebook、Twitter、Google 对用户进行身份验证。
我知道我可以在单个用户标识符 (Cognito identityId) 下链接多个登录,但只有在首次登录后手动添加此类登录时才有可能。
例如,我看到场景:
- 使用 Cognito UserPool 注册用户。
- 然后,保持身份验证,用户使用 Facebook 进行身份验证。并且 Facebook 令牌可以添加到登录中。
- 在进一步检索 AWSCredentials 调用过程时 - Facebook 登录将添加到 Cognito 身份池中的用户身份。
- 之后,用户可以使用 UserPool 凭据并通过 Facebook 身份验证在相同的用户身份下登录。
首先,我不确定我的场景是否正确,但这是我在阅读了这里的许多帖子和 AWS 文档后才意识到的。
如果场景正确,那么我会遇到另一个问题:如何刷新令牌?
在 AWS C++ 开发工具包中,为了刷新 AWS 凭证,CognitoIdentityClient.GetCredentialsForIdentity使用了调用,但它需要传递用户登录信息。
我更具体的问题:我需要通过所有登录吗?是否要求登录中的所有访问令牌都没有过期?