繁体   English   中英

使用 Next Auth 静默登录具有来自 AWS Cognito 的外部令牌的用户

[英]Using Next Auth to silent log in users with external tokens from AWS Cognito

我们有一个网站,用户可以在其中使用 AWS Cognito 对自己进行身份验证。 这已经通过基于他们的示例代码的 Cognito 提供程序使用 Next Auth 来实现。 那工作正常。 但是,每当新的潜在潜在客户(客户)填写特定表格时,我们就会将该信息发送到外部 API。该 API 连接到 AWS 中相同的 Cognito 客户端和用户池,它会创建一个新用户并执行一些操作. 在这个 API 的响应中,我们收到了新创建的用户的访问令牌、刷新令牌和身份令牌。 这背后的原因是,无论何时创建新的潜在客户,都会自动为他们分配一个用户,我们会在后台让他们登录。 这远非理想的解决方案,我知道,但我们的作业不允许重新思考和重写当前设置。

我的问题是我们应该如何实现这样的自定义登录流程。 我们想要验证 API 响应中的令牌并使用这些令牌创建一个 session,就像常规登录流程一样。

我已经包含了这个试图解释这个过程的简化图表。 见链接:登录流程图

对于遇到类似问题的任何人,这就是我们解决它的方法:从外部服务接收到id_token后,我们使用 id_token 对我们自己的授权回调 API 端点执行id_token router.push(...) (next/router)。 在我们的例子中,它变成了:

/api/auth/callback/cognito?id_token={ID_TOKEN}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM