java - 如何在 Spring Boot、JPA、Spring Security 中将表单登录扩展到 Google 登录(OAuth2)
问题描述
我有一个应用程序已经在 Spring Boot 中运行,使用用户名和密码使用 Spring Security 常规登录。该表看起来像(id、用户名、密码、启用)。并且一些资源与登录用户ID相关联,例如,书籍实体(与用户ID映射)。
现在我需要使用 google 选项实现登录。在这里,我的问题是,除了与安全相关的事情之外,我们能否在不更改核心应用程序的情况下同时拥有它们(普通登录 + Google 登录)。
我的想法是,如果有人选择谷歌登录,在谷歌身份验证后,我将在我的用户表中创建用户(在这种情况下,密码字段可以是什么,我需要添加另一个标志列吗?)并使用该用户登录. 表示与正常登录匹配的额外层。
我的问题是我如何才能做到这一点。我尝试了很多博客,但不太了解。有什么帮助吗?
提前致谢。
解决方案
我遇到了类似的问题,我使用了 pac4j 库。它有很多实现pac4j.org
推荐阅读
- c# - 页面请求 ASP.NET Core & Identity 上的 Cookie 身份验证问题
- angular - 按需下载角度页面。混合应用(SPA+MPA)
- c# - 正则表达式问题。它没有找到所需的字符串部分
- python - 使用 python 正则表达式捕获相似的字符串
- kubernetes - pod 有未绑定的即时 PersistentVolumeClaims kubernetes nfs 卷
- microsoft-graph-api - Microsoft GraphMail 消息 - 我如何判断它是发送还是接收?
- image - 如何在 Facebook 上显示 OpenGraph 网站图像而无需在 URL 中键入 WWW
- json - 解析包含复杂结构的字符串
- java - Retrofit2+RxJava 在 OnNext() 中返回 null 给 Model 类
- ionic3 - 错误:未捕获(承诺中):错误:StaticInjectorError(AppModule)[HomePage -> InAppBrowser]: