-1

我有一个中途运行的应用程序,用户可以通过表单或 Facebook 注册。

我正在尝试执行以下操作,我想知道这是否符合 AWS Cognito 最佳实践。

报名:

  • 注册表单(“本地用户”):用户可以输入用户名/密码以及详细信息(性别、生日等)。凭证存储在 AWS Cognito 用户池和自定义数据库中的所有其他配置文件详细信息中。
  • 通过 Facebook 注册:用户可以点击页面上的 Facebook 登录按钮,在他通过身份验证后,如果 FB 没有提供,他必须填写缺失的信息(性别、生日等)。个人资料信息将存储在与通过表单注册的用户相同的数据库中。

游泳池:

  • AWS 用户池作为身份提供商连接到我的 AWS 身份池中。
  • Facebook 连接到同一个身份池。

令牌处理:

  • “本地用户”:我根据用户池中的 identityId 从身份池中获取凭据。我使用此凭证访问 AWS 上的资源。凭据将缓存在客户端的安全位置。
  • Facebook 用户:与“本地用户”相同的程序。

我的问题:

  • 整体方法是否有意义,或者是否存在与 AWS Cognito 的设计不一致的地方?
  • 我将所有个人资料信息(“本地用户”和 Facebook 用户)保存在自己的数据库中,因为我需要对个人资料信息进行更高级的查询/搜索功能。Cognito 不提供复杂的搜索功能。如果我分别与用户池分开,这是一种不好的做法吗?用户池只存储本地用户的用户名/密码?这种方法的缺点是什么?
  • 我应该在用户池中为每个 Facebook 身份创建一个用户吗?如果是,为什么?
4

1 回答 1

0

您可以使用 javascript sdk 完成您尝试做的所有事情。看看这个链接,它展示了如何做你需要的几乎所有事情。 https://docs.aws.amazon.com/cognito/latest/developerguide/using-amazon-cognito-user-identity-pools-javascript-examples.html

于 2018-10-26T17:12:59.293 回答