相关疑难解决方法(0)

AWS cognito:使用usernam/password或facebook登录

我想集成一个非常标准的功能:为用户(移动和网络)提供选项,使用电子邮件/密码登录或使用RBAC的Facebook(谷歌)帐户(不同的用户可能有不同的角色,如用户,版主,管理员,创作者等).这基本上是我想要的登录:

在此输入图像描述

我浏览了许多AWS教程和其他材料.我掌握了如何实现它,但我仍然没有完整的图片.希望有人可以帮助我.

这是我目前的理解(请纠正我,我错了).

1)对于电子邮件/密码注册/登录我使用用户池.当用户登录时,我调用authenticateUser(我正在使用JS SDK):

cognitoUser.authenticateUser(authenticationDetails, {
..
})
Run Code Online (Sandbox Code Playgroud)

在哪里onSuccess

  • 我存储身份,访问和刷新令牌,因此,用户不必每次都输入他的凭据
  • 因为用户将访问AWS服务(例如S3),所以我将idToken交换为AWS凭证
  • 在访问资源时,将AWS信用卡存储在LocalStore中以供进一步使用

2)对于facebook登录,我使用联合身份

  • 获取facebook访问令牌
  • 使用fb令牌获得认知身份
  • 将认知身份与AWS信用交换,并将其存储在LocalStore中

问题:

Q1.注册/登录是否有效且相当完整?我错过了什么吗?

Q2.我应该如何存储Facebook用户?我可以在用户池中执行此操作吗?我的印象是它不可能,但这意味着我有2个不同的用户目录:一个在UserPool中,另一个在另一个地方(比如说在DynamoDB中)

Q3.如果我必须将用户存储在不同的地方(UserPool和DynamoDB),这意味着我有2个用户,基本上是一个用户,谁首先注册了电子邮件/密码,然后决定使用Facebook - 这对我作为应用管理员和用户都不方便.如何应对这种情况?

Q4.如何管理使用facebook令牌登录的用户组(如用户,版主,管理员,创建者等)?

Q5.对于Facebook登录用户,我应该如何限制对AWS以外的资源的访问?

Q6.这有什么实际的例子吗?

谢谢!

amazon-web-services facebook-login amazon-cognito amazon-cognito-facebook aws-cognito

9
推荐指数
2
解决办法
3031
查看次数