如何在用户名/密码和谷歌登录中验证和授权用户?
Posted
技术标签:
【中文标题】如何在用户名/密码和谷歌登录中验证和授权用户?【英文标题】:How to authenticate and authorize a user in username/password and google sign in? 【发布时间】:2020-12-16 08:18:11 【问题描述】:系统的架构是这样的
-
用户可以使用用户名密码方式(注册后)或谷歌登录方式登录网站。
我想知道如何在这种情况下实现身份验证和授权。
这是我正在考虑实施的:
-
拥有一个基于 NodeJS 和 Express 构建的 REST API 服务器。
登录和注册过程也由该服务器处理。
使用存储在客户端的 JWT 令牌 进行身份验证。然后这些令牌也会再次用于端点的授权。
这种方法的安全性如何?以及如何将 google 登录添加到此架构中。 如果 OAuth 2.0 中提到,是否需要单独的服务器来发出身份验证请求?
如果系统保持无状态,遵循 RESTFul API 的原则会更好。
【问题讨论】:
【参考方案1】:我写的这篇文章可能会给你一些见解。
https://dev.to/ralphwjz/login-management-for-spa-and-everyone-else-12o6
该帖子涵盖了 Github 登录,但如果您将 GitHub 替换为 google,则其余流程完全相同。
我可以在上下文中回答更多问题
【讨论】:
以上是关于如何在用户名/密码和谷歌登录中验证和授权用户?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Lumen 中使用身份验证进行用户登录?为啥我在启动时看到“未经授权”?
绕过对用户名/密码的 JConsole 要求 - 当使用带有 JMX 的 Jaas 自定义登录模块来处理授权和身份验证时