首页 > 解决方案 > 在 oauth 2.0 授权流程中跟踪用户

问题描述

我无法理解如何与用户一起使用 oauth 2.0。

我有一个包含用户和公司(用户所属)的应用程序。我希望用户向他们的公司或他们授权第三方应用程序。

我已经存储了我的应用程序client_idsecret以及redirect_url该第三方应用程序。

用户在前端登录到应用程序,并有一个按钮,他们可以单击以授权第三方应用程序。client_id这会将他们重定向到带有和的第三方网站redirect_url。一旦用户登录该站点并通过第三方进行身份验证,它将向redirect_url我的服务器上发送一个授权令牌。

这是我遇到问题的地方。此时在服务器上,我收到了一个代码,然后我可以使用它来获取令牌。但此时服务器不知道启动流程的用户是谁。这意味着一旦我获得令牌,我不知道将令牌与谁关联(用户或公司)。

如何跟踪通过 oauth 2.0 流程进行身份验证的用户。

这适用于 Quickbooks、Zoho、Facebook 等网站。

标签: oauth-2.0

解决方案


以防将来有人偶然发现这个问题。

我有一个与后端 API 服务器分开托管的 React 前端。

我将 redirect_url 设置为转到后端服务器上的一个端点,该端点是一个未经身份验证的端点,也是我的问题所在。

现在用户将转到第三方的授权 url 链接。一旦他们授权重定向 url 将他们发送到我的前端反应应用程序上经过身份验证的端点,他们将在那里登录。该页面将从 url 中提取代码并将其发送回服务器,就像用户发出的任何其他数据请求一样。现在在服务器上,我有了可以处理以获取令牌的代码,而且我现在也有了用户和公司来关联它。

这也更有意义,因为我可以有一个漂亮的显示页面向用户展示正在发生的事情以及他们何时连接。


推荐阅读