我一直在 Koa 中进行挖掘,并且有一个似乎工作正常的设置。然后我决定 SSR 将是有益的,我正在努力创建一种简单的身份验证方法。
本质上,我正在采取的步骤是:
- 用户访问 Next.JS 服务页面。
- 用户点击“使用 facebook 登录”,然后一个请求被发送到我的 Koa 服务器 /auth/facebook
- 发生带有护照的 OAuth,并为用户生成和存储令牌(然后创建或更新)
- 生成一个非常短暂的令牌,并且用户将使用 URL 中的短暂令牌重定向到 Next.JS 应用程序。
- Next.JS 将这个短暂的令牌发送到 Koa API,并返回一个真正的访问令牌并将其存储在 cookie 中。
- 这个新的访问令牌用于对 API 的后续请求。
这感觉非常复杂,我觉得有可能完全删除短暂的令牌步骤。
根据我的阅读,将 Next.JS 用于后端 API 相关逻辑并不是一个好主意,这就是为什么身份验证发生在 Koa-API 服务器上的原因,因此需要传递一个短暂的令牌来获得真正的令牌。
我是否过于复杂了?有没有我没有看到的更简单的方法?