Smart-SSO单点登录(三):接入指南

359 阅读2分钟

SpringBoot应用接入到Smart-SSO,只需要简单的三步。不过在开始前,你需要优先完成快速开始章节的学习,并保障smart-sso- server服务端已被正常的启动并提供服务。

1.服务端登记

在服务端管控“应用”菜单下,添加你的应用。并查看记录应用认证授权需要的密钥信息,后续配置会用到。 在这里插入图片描述 在这里插入图片描述

2.引入客户端依赖

在你的SpringBoot应用中,Maven的pom.xml配置文件增加客户端依赖。

<dependency>
    <groupId>io.github.openjoe</groupId>
    <artifactId>smart-sso-starter-client</artifactId>
    <version>${smart.sso.version}</version>
</dependency>

在这里插入图片描述

3.应用配置修改

修改你SpringBoot应用的application.yaml,增加客户端的相关配置项。

smart:
  sso:
    #服务端地址
    server-url: http://server.smart-sso.com:8080
    #客户端ID
    client-id: 1003
    #客户端密钥
    client-secret: 23bfde398056736c6ead917c3e6a2a5d
    #客户端排除拦截urls,默认为空,支持AntPathMatcher匹配
    exclude-urls:
      - /sample/demo/page
      - /sample/demo/i18n
    #客户端拦截urls,默认通配所有路径,支持AntPathMatcher匹配
    url-patterns:
      - /sample/*

注: 1.server-url为服务端地址; 2.client-id和client-secret是步骤一在服务端登记时生成的密钥信息,用于客户端向服务端发起accessToken请求做校验; 3.想了解更多的客户端参数配置,请查阅openjoe.smart.sso.client.ClientProperties.java。

4.验证

启动你的SpringBoot应用,在浏览器中输入http://localhost:9988/sample/demo/page ,回车,请求数据正常返回。因为它已配置在smart.sso.exclude-urls中,从而不会跳转至服务端登录页。 在这里插入图片描述然而,在浏览器中输入http://localhost:9988/sample/demo/list ,回车后被自动重定向至服务端登录页。因为它被smart.sso.urls-patterns所匹配,当你输入正确的账号密码完成登录后,请求数据就能正常返回。

image.png

5.Token信息说明

用户信息:

TokenUser user = ClientContextHolder.getUser(request);
// 登录用户名
user.getUsername();
// 用户ID
user.getId();

权限信息:

TokenPermission permission = ClientContextHolder.getPermission(request);
// 用户当前应用已分配的菜单
permission.getMenuList();
// 用户当前应用已分配的权限
permission.getPermissionSet());