AWS Cognito在没有服务器的用户名和密码的情况下签署用户

时间:2018-02-09 01:08:52

标签: aws-sdk amazon-cognito

我的服务器是否可以在没有用户名和密码的情况下获取用户的凭据,以便将其发送回客户端?

我有另一种身份验证方法,我认为这样做更容易,而不是尝试将令牌存储在数据库中,这些令牌将过期。

2 个答案:

答案 0 :(得分:4)

是。您可以提供用户名/密码的替代方法来登录用户。 Developer Authenticated Identities Authflow让您的服务器取代用户池或其他社交身份提供商。

用户池就是AWS托管的身份验证工具。他们通过提供密码让用户证明他们拥有特定的登录字符串(电子邮件,电话等)。然后,该用户将映射到标识池中的标识。

您还可以使用Facebook作为“证据”并以此方式获取身份证。如果同时将两个(用户池和Facebook)令牌传递到标识池,则会将这两个登录ID链接到一个标识ID下。现在您可以使用任一方法登录,并且应用程序会将您视为同一个人,因为您具有相同的身份ID。

您可以实现一个服务器,它可以让您充当同一类型的提供程序,以便用户可以向您的服务器证明他们是他们所说的人,然后您可以向身份池发信号通知他们是“X”人。

要记住的是,用户池用于存储和验证用户名/密码组合(以及其他一些属性,如果需要)。标识池用于将1个或多个登录(Facebook,Google,用户池等)映射到您的应用可用于识别/区分用户的标识ID。

答案 1 :(得分:0)

不,您不得不至少使用Cognito进行一次身份验证(之后使用刷新令牌获取新ID /访问令牌而无需输入用户名/密码)或联合其他身份提供商(但您仍需要进行身份验证)与该身份提供者)。