当前位置: 首页 > 网络应用技术

Springsecurity集成了一个授权的OAuth2的简单示例

时间:2023-03-05 16:37:36 网络应用技术

  Spring Security为响应应用程序提供了OAuth2和WebFlux集成。

  使用OAuth2或OpenID进行认证。

  OAuth 2.0登录功能为应用程序提供了功能。用户可以在OAuth 2.0提供商(例如GITHUB)或OpenID连接1.0提供商(例如Google)中使用其现有帐户登录应用程序.OAUTH 2.0登录名实例:“使用Google登录”或“ Github登录”。

  OAuth 2.0登录已通过认证代码完全授权。有关详细信息,请参阅OAuth 2.0授权框架和OpenID连接Core 1.0。

  核心配置创建了Springboot Project Springboot2.x,将完整的自动配置功能带到OAUTH 2.0登录。

  本节显示了如何使用Google作为认证的提供商来配置OAuth 2.0 Login WebFlux示例,包括以下主题:

  注意:官方网站提供Google认证实施。由于它无法访问中国的Google相关服务,因此我们将在下面更改为GitHub的实施。

  除了引入Springsecurity和WebFlux基本依赖性外,OAuth2登录的实现还需要引入OAuth2依赖性。

  登录到GitHub本节显示了如何使用GitHub作为身份验证提供商配置样本应用程序,包括以下主题:

  注册OAuth应用程序以登录GitHub的OAuth 2.0认证系统,您必须注册一个新的OAUTH应用程序。

  注册OAuth应用程序时,请确保将授权回调URL设置为

  注册后,您将看到以下两个信息:

  授权回调URL(重定向到URI)是应用程序中的路径。在授权应用程序页面上授予对OAUTH应用程序的访问权后,将最终用户的用户代理重新恢复到路径,以授予授权应用程序页面上的OAuth应用程序的访问权。

  提示:默认重定向是uri template.RegistrationID是唯一的标识符。

  重要的是:如果应用程序在代理服务器之后运行,建议检查“代理服务器配置”以确保正确配置应用程序。请请参考支持的模板变量。

  配置application.yml / application.properties现在您有了GitHub的新OAUTH应用程序。您需要配置您的应用程序以使用OAuth应用程序来执行身份验证过程。

  1转到设置以下配置

  它是OAuth客户端属性的基本属性前缀。

  基本属性前缀的ID,例如github。

  启动应用程序启动应用程序并访问它。然后将您重定向到默认的自动登录页面,该页面显示GitHub链接。

  单击GitHub链接,然后将您重定向到GitHub进行身份验证。

  通过GITHUB认证后,下一页显示了“授权应用程序”。本页面将要求您授权上一步中创建的应用程序。单击“授权应用程序”,以允许OAuth应用程序访问您的个人用户数据信息。

  此时,OAuth客户端从UserInfo中检索您的个人用户信息,并构建认证会议。

  提示:有关UserInfo终点的更多信息,请参见API文档中的“采集用户”。

  Spring Boot 2.X属性映射在Spring Boot 2.X OAUTH客户端属性的映射下方映射到客户端限制属性。

  commonoAuth2Provider [GM OAUTH2提供商]预测了许多众所周知的提供商的一组默认客户端属性:Google,Github,Facebook和Okta。

  例如,提供商和和和和。因此,提供默认值以减少所需配置是有意义的。

  如前所述,在配置GITHUB客户端时,仅需及其属性。

  在CommonoAuth2Provider的上一季度配置自定义的提供商属性。我们了解,Springsecurity提供了一组预定的提供者。但是,我们正在国内练习。

  登录到Gitee的前步骤,注册OAuth应用程序。

  Gitee Oauth文档

  配置application.properties

  配置完成后,启动项目,登录并直接跳到授权页面

  创建一个控制器

  验证访问