使用 Spring Security 5.0 和 OIDC 轻松构建身份验证

主要观点:Spring Security 是保护基于 Spring 的应用的事实上的标准,从需大量 XML 配置到如今可通过 Spring 的 JavaConfig 进行更简单配置,如 SecurityConfiguration.java 类代码不足 100 行。Spring Security 5.0 解决 400 多个问题并具有众多新功能,包括 OAuth 2.0 Login、Reactive Support、Modernized Password Encoding 等。本文展示如何利用 OAuth 2.0 Login 支持与 Okta 集成,获取用户信息等。

关键信息

  • Spring Initialzr 可快速创建 Spring Boot 应用,设置相关版本和依赖,如 Web、Reactive Web、Security、Thymeleaf 等。
  • Spring Security 5 可指定多个提供程序,其 OAuth 2.0 Login 样本及文档说明工作原理。
  • 与 Okta 集成需注册账号,创建 OpenID Connect 应用,配置 application.yml 中的相关信息,添加依赖等。
  • 可通过更改 MainController.java 代码获取用户信息,创建 Thymeleaf 页面展示相关内容。

重要细节

  • Spring Security 4.x 用基本认证,Spring Security 5 不同。默认用户密码每次启动应用改变,可在控制台查看,Spring Boot 2.0 中该功能已弃用。
  • 在配置文件中需将 application.properties 重命名为 application.yml,并填入 Okta 的相关信息,如 client-id、client-secret、yourOktaDomain 等。
  • 获取用户信息的代码通过 WebClient 从用户信息端点获取,可在 Thymeleaf 页面中展示。
  • 提供了多个关于 Okta 和 OIDC 的资源供学习,如有疑问可在评论区、Stack Overflow 或开发者论坛提问。
阅读 9
0 条评论