oauth-2.0 - 在 oauth 2.0 授权流程中跟踪用户
问题描述
我无法理解如何与用户一起使用 oauth 2.0。
我有一个包含用户和公司(用户所属)的应用程序。我希望用户向他们的公司或他们授权第三方应用程序。
我已经存储了我的应用程序client_id
,secret
以及redirect_url
该第三方应用程序。
用户在前端登录到应用程序,并有一个按钮,他们可以单击以授权第三方应用程序。client_id
这会将他们重定向到带有和的第三方网站redirect_url
。一旦用户登录该站点并通过第三方进行身份验证,它将向redirect_url
我的服务器上发送一个授权令牌。
这是我遇到问题的地方。此时在服务器上,我收到了一个代码,然后我可以使用它来获取令牌。但此时服务器不知道启动流程的用户是谁。这意味着一旦我获得令牌,我不知道将令牌与谁关联(用户或公司)。
如何跟踪通过 oauth 2.0 流程进行身份验证的用户。
这适用于 Quickbooks、Zoho、Facebook 等网站。
解决方案
以防将来有人偶然发现这个问题。
我有一个与后端 API 服务器分开托管的 React 前端。
我将 redirect_url 设置为转到后端服务器上的一个端点,该端点是一个未经身份验证的端点,也是我的问题所在。
现在用户将转到第三方的授权 url 链接。一旦他们授权重定向 url 将他们发送到我的前端反应应用程序上经过身份验证的端点,他们将在那里登录。该页面将从 url 中提取代码并将其发送回服务器,就像用户发出的任何其他数据请求一样。现在在服务器上,我有了可以处理以获取令牌的代码,而且我现在也有了用户和公司来关联它。
这也更有意义,因为我可以有一个漂亮的显示页面向用户展示正在发生的事情以及他们何时连接。
推荐阅读
- c++ - 我如何不断地问用户一个问题,直到他们输入正确的值字段?
- java - 如何将一周的第一天和一周的最后一天设置为白色?
- kubernetes - Pod 故障和恢复事件
- node.js - 克隆每个存储库的问题
- php - 在 PHP 中找不到正确的 3DES 密码
- amazon-web-services - 为什么即使是小文件,aws s3 getObject 也执行缓慢?
- angular - ngx-swiper-wrapper 具有针对不同滑块的多种配置
- php - 如何在没有 javascript 的情况下使用 Apache 服务器在 PHP 中创建简单的 websocket 聊天应用程序
- javascript - JavaScript:使用通配符从父元素中选择所有子元素
- ansible - 如何使用从文件中获取的目录名称使用 ansible 创建目录