sa-token/sa-token-doc/doc/sso/sso-apidoc.md
2022-04-26 18:59:55 +08:00

3.4 KiB
Raw Blame History

SSO-Server 认证中心开放接口

如果你的 SSO-Server 端和 SSO-Client 端都使用 Sa-Token-SSO 搭建,那么你可以直接跳过本章,开始 SSO模式一 共享Cookie同步会话 的学习。

如果你仅在 SSO-Server 端使用 Sa-Token-SSO 搭建,而 SSO-Client 端使用其它框架的话,那么你就需要手动调用 http 请求来对接 SSO-Server 认证中心, 下面的 API 列表将给你的对接步骤做一份参考。


1、单点登录授权地址

http://{host}:{port}/sso/auth

接收参数:

参数 是否必填 说明
redirect 登录成功后的重定向地址,一般填写 location.href从哪来回哪去
mode 授权模式,取值 [simple, ticket]simple=登录后直接重定向ticket=带着ticket参数重定向默认值为ticket

访问接口后有两种情况:

  • 情况一:当前会话在 SSO 认证中心未登录,会进入登录页开始登录。
  • 情况二:当前会话在 SSO 认证中心已登录,会被重定向至 redirect 地址,并携带 ticket 参数。

2、RestAPI 登录接口

http://{host}:{port}/sso/doLogin

接收参数:

参数 是否必填 说明
name 用户名
pwd 密码

此接口属于 RestAPI (使用ajax访问),会进入后端配置的 setDoLoginHandle 函数中,另外需要注意: 此接口并非只能携带 name、pwd 参数,因为你可以在 setDoLoginHandle 函数里通过 SaHolder.getRequest().getParam("xxx") 来获取其它参数。

3、Ticket 校验接口

此接口仅配置模式三 (isHttp=true) 时打开

http://{host}:{port}/sso/checkTicket

接收参数:

参数 是否必填 说明
ticket 在步骤 5.1 中授权重定向时的 ticket 参数
ssoLogoutCall 单点注销时的回调通知地址只在SSO模式三单点注销时需要携带此参数

返回值场景:

  • 返回空,代表校验失败。
  • 返回具体的 loginId例如10001代表校验成功值为此 ticket 码代表的用户id。

4、单点注销接口

http://{host}:{port}/sso/logout         

接受参数:

参数 是否必填 说明
loginId 要注销的账号id
secretkey 接口通信秘钥
back 注销成功后的重定向地址

此接口有两种调用方式

方式一:在 Client 的前端页面引导用户直接跳转,并带有 back 参数

例如:http://{host}:{port}/sso/logout?back=xxx代表用户注销成功后返回back地址

方式二:在 Client 的后端通过 http 工具来调用

例如:http://{host}:{port}/sso/logout?loginId={value}&secretkey={value},代表注销 账号=loginId 的账号返回json数据结果形如

{
    "code": 200,    // 200表示请求成功非200标识请求失败
    "msg": "单点注销成功",
    "data": null
}

SSO 认证中心只有这四个接口,接下来让我一起来看一下 Client 端的对接流程:SSO模式一 共享Cookie同步会话