首页 > 解决方案 > 如何在 Spring Boot、JPA、Spring Security 中将表单登录扩展到 Google 登录(OAuth2)

问题描述

我有一个应用程序已经在 Spring Boot 中运行,使用用户名和密码使用 Spring Security 常规登录。该表看起来像(id、用户名、密码、启用)。并且一些资源与登录用户ID相关联,例如,书籍实体(与用户ID映射)。

现在我需要使用 google 选项实现登录。在这里,我的问题是,除了与安全相关的事情之外,我们能否在不更改核心应用程序的情况下同时拥有它们(普通登录 + Google 登录)。

我的想法是,如果有人选择谷歌登录,在谷歌身份验证后,我将在我的用户表中创建用户(在这种情况下,密码字段可以是什么,我需要添加另一个标志列吗?)并使用该用户登录. 表示与正常登录匹配的额外层。

我的问题是我如何才能做到这一点。我尝试了很多博客,但不太了解。有什么帮助吗?

提前致谢。

标签: javaspring-bootspring-securityspring-security-oauth2google-signin

解决方案


我遇到了类似的问题,我使用了 pac4j 库。它有很多实现pac4j.org


推荐阅读