如何在 2 个 OAuth 步骤内重定向时临时存储数据

Posted

技术标签:

【中文标题】如何在 2 个 OAuth 步骤内重定向时临时存储数据【英文标题】:How to store data temporarily while redirectring within 2 OAuth Steps 【发布时间】:2021-06-05 19:49:03 【问题描述】:

我已经阅读了很多问题并查看了很多资源,但我无法理解。那是因为我的应用程序发生了很多重定向,让我们快速浏览一下这些步骤。

步骤 1。使用 [MyApp1] 登录 1.1 通过POST方式获取token

步骤 2。 [暂时保存令牌]

第 3 步。使用 [MyApp2] 登录 3.1 通过POST方式获取token

第四步。加密所有令牌 4.1 保存到mysql数据库

我不知道什么是最好的临时保存数据,我查看了 sessionsRedis我正在开发 Node.js Web 应用程序,带有服务器和 MySQL 数据库的 HTML。

【问题讨论】:

【参考方案1】:

也许将它们存储在查询中? OAuth2 提供了一个state 查询参数,该参数应用于重定向,因此您的应用程序可以在重定向后将一些信息传递给自身。

【讨论】:

它提供了一个state 查询参数,但是它将有4个重定向,1.网页到MyApp1,2.MyApp1到网页[TOKEN],3.网页到MyApp2,4.MyApp2到网页[TOKEN2]。我想确保输入 MyApp1 的用户与输入 MyApp2 的用户相同,以便将令牌安全地存储在 MySQL 中。这是一个双重问题。顺便说一句,我无权更改 MyApp1 或 MyApp2 的查询。所以我不能传递信息

以上是关于如何在 2 个 OAuth 步骤内重定向时临时存储数据的主要内容,如果未能解决你的问题,请参考以下文章

如何在脚本本身内重定向整个 shell 脚本的输出?

我应该使用 301 进行站内重定向吗?

如何让nginx对某一个ip在某一时间段内重定向

在服务类内重定向?

Next.js 在 GraphQL 突变内重定向

oAuth 2 如何工作?