springboot 如何实现单点登录

单点登录(Single Sign-On,SSO)允许用户使用一组凭证(如用户名和密码)登录到多个相关的应用系统中,而无需为每个系统单独进行身份验证。在 Spring Boot 中实现单点登录有多种方式,下面将分别介绍基于 OAuth 2.0 和基于 CAS(Central Authentication Service)这两种常见的实现方法。

基于 OAuth 2.0 实现单点登录

1. 项目依赖

首先,在 pom.xml 中添加 Spring Security OAuth 2.0 相关依赖:

收起

xml


    
        org.springframework.boot
        spring-boot-starter-web
    
    
        org.springframework.boot
        spring-boot-starter-security
    
    
        org.springframework.boot
        spring-boot-starter-oauth2-client
    

2. 配置 OAuth 2.0 客户端

在 application.properties 或 application.yml 中配置 OAuth 2.0 客户端信息,这里以 GitHub 作为认证服务提供商为例:

收起

properties

spring.security.oauth2.client.registration.github.client-id=your-client-id
spring.security.oauth2.client.registration.github.client-secret=your-client-secret
spring.security.oauth2.client.registration.github.scope=read:user
spring.security.oauth2.client.provider.github.authorization-uri=https://github.com/login/oauth/authorize
spring.security.oauth2.client.provider.github.token-uri=https://github.com/login/oauth/access_token
spring.security.oauth2.client.provider.github.user-info-uri=https://api.github.com/user
spring.security.oauth2.client.provider.github.user-name-attribute=login

将 your-client-i

你可能感兴趣的:(工作,面试,学习,spring,boot,后端,java)