当前位置: 首页 > 知识库问答 >
问题:

Amazon Cognito身份和用户池是否可以实现这种身份验证流

宗政永望
2023-03-14

我想解释一个认证流程,并希望你能回答,如果亚马逊认知的正确解决方案。

要求:对于每个登录(用户名/密码、Facebook、Google等),都应该有一个有效的用户池帐户。

Flow Facebook(不存在身份或用户池帐户)。

客户点击“使用Facebook登录”:

1) 调用GetOpenIdToken-

1a)同时,使用FB AccessToken从Facebook获取电子邮件地址

2)使用生成的密码和Facebook电子邮件调用AdminCreateUser

3)调用AdminInvateAuth并获取idToken

4)调用GetOpenIdToken并添加用于认知用户池的idToken和facebookAccessToken

结果:Cognito用户池中的一个用户和一个链接的联邦帐户

对我来说很重要:来自4)的令牌是用户池令牌,包含子(UUID之一对我们的内部数据库很重要)

好的,这是好的,工作很好,但是:

Flow Facebook用户返回(身份和链接用户池帐户可用)

客户点击“使用Facebook登录”:

1) 调用GetOpenIdToken-

2)调用描述身份并获取登录列表

2a)我们可以看到有一个链接的用户池id,不需要创建新用户

正是在这一点上出现了一个问题:

我怎么能得到一个用户池令牌,如果我只是有facebookAccessToken,但链接用户池登录?

是否有可能获得该链接用户的用户池数据只是与facebook访问令牌?

如果这是正确的流,还是Cognito不支持此身份验证流?

谢谢Marcel

共有2个答案

韩祯
2023-03-14

AWS Cognito目前不支持这些流。您可以在identity api上构建定制流,只需将cognito与开发人员凭据一起使用即可。但不推荐

尹承业
2023-03-14

不,目前不支持。您已经在Cognito联合身份中创建了一个具有链接登录的身份(FB和Cognito用户池),但是要使用Cognito用户池进行身份验证,您目前不能使用Facebook访问令牌。获取用户池令牌的唯一方法是使用该帐户的用户名/密码。

我们从多个客户那里听到了这个请求,并考虑在将来的版本中添加它。

 类似资料:
  • 于是我在这里看到:https://firebase . Google . com/docs/auth/web/account-linking # link-auth-provider-credentials-to-a-user-account现在可以在Firebase中链接用户账号了。我还看到Firebase提供了匿名认证的功能,它为一个用户创建一个用户会话,不需要任何凭证。 在我们的应用程序中,

  • 我想知道socket.io身份验证的最佳实践是什么。 Alice发出事件'message',参数包括Bobs、唯一标识符等。Bob在监听Socket.on('message')事件时接收消息。

  • 身份验证 PDF版下载 企业应用中的URL链接可以通过OAuth2.0验证接口来获取员工的身份信息。 通过此接口获取员工身份会有一定的时间开销。对于频繁获取员工身份的场景,建议采用如下方案: 企业应用中的URL链接直接填写企业自己的页面地址; 员工跳转到企业页面时,企业校验是否有代表员工身份的cookie,此cookie由企业生成; 如果没有获取到cookie,重定向到OAuth验证链接,获取员工

  • 问题内容: 确保GWT + Tomcat应用程序执行身份验证和授权的最佳策略是什么? 问题答案: 有两种基本策略: 确保入口点; 保护远程服务。 最简单的方法是使用常规的Web应用程序安全工具来限制对GWT生成的html / js文件的访问: 春季安全; web.xml约束。 这样可以让您拥有eg 和。 保护远程服务 如果上述解决方案还不够,您可以进行更深入的研究。我已经通过Spring Secu

  • 我一直在寻找使用各种AWS服务来处理我们下一个主要项目的基础设施。我们开始研究EC2实例上的docker容器,但在进一步研究AWS Lambda之后,这似乎是一条值得探索的道路。 使用AWS Lambda范例,我们只需使用Lambda函数作为逻辑粘合剂,将数据和事件(来自其他AWS服务)保存在一起。 例如,如果我们产品的用户创建了一个新记录,AWS Lambda可以在该事件中触发,我们可以调用La