千家信息网

如何实现易水公共组件的SSO功能

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,如何实现易水公共组件的SSO功能,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。如今,随着互联网技术的发展,网络用户规模越来越大,假如公司
千家信息网最后更新 2026年11月03日如何实现易水公共组件的SSO功能

如何实现易水公共组件的SSO功能,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

如今,随着互联网技术的发展,网络用户规模越来越大,假如公司的每一个应用都建立一个用户系统,不仅极大的增加了开发的工作量,而且容易形成了信息孤岛,用户在使用公司的每个产品时都需要重复注册一次。因此许多公司为了统一管理,建立了统一认证中心,其他的应用需要通过单点登录即可获取用户信息,用户登录该公司的其他应用时也不需要在重新注册,大大节省公司用户导入成本,也提高用户使用体验。

对于单点登录(SSO)而言,现在技术比较成熟,网上各种教程也比较多,但是很多文章都讲述的不怎么全面,在这里基于spring security简单明了的介绍下时如何实现单点登录功能。

在使用单点登录之前,需要先搭建一个认证中心,例如通过易水公共组件快速搭建一个自己的认证中心,也可以使用现在网络上现成的认证中心,如 谷歌 或 github.

一 在pom文件中加入依赖

完整的pom文件内容如下:

    4.0.0            org.springframework.boot        spring-boot-starter-parent        2.2.0.RELEASE                 com.yishuifengxiao.sso-client    demo    0.0.1-SNAPSHOT    demo    Demo project for Spring Boot            1.8                            org.springframework.boot            spring-boot-starter-oauth3-client                            org.springframework.boot            spring-boot-starter-security                            org.springframework.boot            spring-boot-starter-web                            org.projectlombok            lombok            true                                                          org.springframework.boot                spring-boot-maven-plugin                        

二 加入配置信息

在配置文件中加入以下信息

spring.security.oauth3.client.registration.yishui.provider=yishui# 登录界面上显示的登录类型的名字,可不填spring.security.oauth3.client.registration.yishui.client-name=custom# 该用户对应的clientIdspring.security.oauth3.client.registration.yishui.client-id=zhiyubujian# 该用户对应的clientSecretspring.security.oauth3.client.registration.yishui.client-secret=zhiyubujian# 这里是定值为authorization_code,表示使用授权码模式模式从授权服务器中获取tokenspring.security.oauth3.client.registration.yishui.authorization-grant-type=authorization_code# 回调地址,应该和授权服务器中登记的回调地址一模一样,否则会出错,支持通配符,也可以想下面那样配置为完整的地址spring.security.oauth3.client.registration.yishui.redirect-uri={baseUrl}/login/oauth3/code/{registrationId}#spring.security.oauth3.client.registration.yishui.redirect-uri=http://192.168.0.172:8006/oauth3/code# 授权服务器的authorization地址spring.security.oauth3.client.provider.yishui.authorization-uri=http://192.168.0.172:8000/oauth/authorize# 授权服务器获取token的地址spring.security.oauth3.client.provider.yishui.token-uri=http://192.168.0.172:8000/oauth/token# 授权服务器中获取登录用户信息的地址spring.security.oauth3.client.provider.yishui.user-info-uri=http://192.168.0.172:8000/me#定值,必须配置,否则会出错spring.security.oauth3.client.provider.yishui.user-name-attribute=userAuthentication

注意:

上述配置中的yishui可以为任意值,但是一般最好为有标识意义的值,例如使用google账号登录时,可以进行如下配置:

spring:  security:    oauth3:      client:        registration:          google:            client-id: google-client-id            client-secret: google-client-secret

三 配置启动文件

@SpringBootApplication@RestController//@EnableOAuth3Ssopublic class DemoApplication {    @GetMapping("/me")    public Authentication user(Authentication authentication) {        return authentication;    }    @GetMapping("/")    public String index(Model model,                        @RegisteredOAuth3AuthorizedClient OAuth3AuthorizedClient authorizedClient,                        @AuthenticationPrincipal OAuth3User oauth3User) {        model.addAttribute("userName", oauth3User.getName());        model.addAttribute("clientName", authorizedClient.getClientRegistration().getClientName());        model.addAttribute("userAttributes", oauth3User.getAttributes());        return "index";    }    public static void main(String[] args) {        SpringApplication.run(DemoApplication.class, args);    }}

四 使用单点登录

完成上述配置以后,我们就可以使用单点登录功能了。

例如当我们想要访问 http://localhost:8080/me 时,系统会重定向到到默认的登录页面

注意:这里显示的是默认的登录页面,如果用户想要显示自定义登录界面,可以参见 易水公共组件里面的相关章节进行修改和美化。

点击上面的登录链接,会跳转到授权服务器的登录页面

在此页面输入用户名和密码登录成功后,请求会跳转到原始等请求地址

响应结果如下:

看完上述内容,你们掌握如何实现易水公共组件的SSO功能的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!

登录 用户 配置 地址 服务器 单点 服务 信息 公司 功能 组件 易水 文件 页面 认证 内容 应用 技术 方法 更多 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技巨头监管 北京互联网科技公司 高科技与互联网 广州宏创互联网科技 互联网金融科技平台 四川狮子座互联网科技 太原新华互联网科技学校怎么样 广州优美互联网科技 恒银科技与互联网金融 语蝶互联网科技有限公司 千方科技属于互联网企业吗 广州市恰铎互联网科技有限公司 区块链结合互联网科技 沐思想互联网科技有限公司 互联网营销推广黑科技 扫呗互联网科技有限公司 济南小医互联网科技有限公司招聘 福建互联网展示科技馆设计 第三届互联网大会安防黑科技 互联网企业和网络科技有限公司 互联网科技金融公司 科技互联网公司logo 互联网前沿科技 国外互联网科技网站 中正互联网科技招聘 剑昆互联网络科技有限公司临桂 广州新华互联网科技学校电竞方面 为客找房互联网科技公司怎么样 互联网风格科技公司名称 互联网科技手机排行榜
0