如何允许用户使用 OAuth 登录

How do I allow a user to login with OAuth

我目前正在构建一个应用程序。前端构建在 React 中,后端构建在 Node.js 中。该应用程序的主要目的是代表用户提供与 Spotify 的交互。我想允许我的应用程序的用户使用 Spotify 登录。

我该如何实现这一目标?

我目前能够成功登录 Spotify,点击我的回调 URI,从 Spotify 获取令牌,并代表用户进行 API 调用。但是,我该如何进行初始登录阶段呢?我是否需要有一个用户数据库(就像我对 SPA 所做的那样),然后根据登录后从 Spotify 发回的内容对用户进行身份验证?

我只是对整体流程以及我的登录过程应该如何构建感到有点困惑。

这取决于您是要存储与用户相关的任何数据还是仅提供功能?如果您只想提供一些功能,那么当用户通过 Spotify 登录并且您有一个有效的令牌时就足够了。如果您想存储更多与用户相关的数据,则必须添加自己的数据库和 link 用户

我不确定 Spotify API,但我假设他们 return 某种用户 ID。因此,当您的用户注册时,将此 ID 保存到数据库中。当他们登录时,在您的后端验证令牌,如果可能,从中提取用户 ID 并从数据库中查找用户。然后用户可以从那里登录到您自己的系统,并且您保留用于 api 交互的 Spotify 令牌。