sa-token/sa-token-doc/sso/sso-nosdk.md
2025-05-08 20:52:52 +08:00

2.3 KiB
Raw Blame History

SSO整合 - NoSdk 模式与非 java 项目


经常有小伙伴提问:客户端不使用 Sa-Token能否接入 SSO 认证中心?当然是可以的。

SSO-Server 所有接口都是通过 http 协议开放的,这意味着原则上只要一个语言支持 http 请求调用就可以对接 SSO-Server参考 SSO 认证中心开放接口

NoSdk 模式

NoSdk 模式不使用SDK通过 http 工具类调用接口的方式来对接 SSO-Server。

参考 demosa-token-demo-sso3-client-nosdk

该 demo 假设应用端没有使用任何“权限认证框架”,使用最基础的 ServletAPI 进行会话管理,模拟了 /sso/login/sso/logout/sso/logoutCall 三个接口的处理逻辑。

[!WARNING| label:NoSdk 示例不再主维护] 基于以下原因:

  • 1、NoSdk demo 相当于通过 http 工具类再次重写了一遍 Sa-Token SSO 模块代码,繁琐且冗余。
  • 2、重写的代码无法拥有 Sa-Token SSO 模块全部能力,仅能完成基本对接,算是一个简化版 SDK。

自 v1.43.0 版本起,不再主维护 NoSdk 模式,仓库示例仅做留档参考,大家可以转为 ReSdk 模式。

ReSdk 模式

ReSdk 模式重写SDK部分方法通过重写框架关键步骤点来对接 SSO-Server。

参考 demosa-token-demo-sso3-client-resdk

[!INFO| label:ReSdk 模式优点]

  • 1、依然支持客户端使用任意技术栈。
  • 2、仅重写少量部分关键代码即可完成对接。几乎可以得到 Sa-Token SSO 模块全量能力。

建议新项目首选 ReSdk 模式作为参考。

非 java 语言项目

sso-server 的所有接口均以 http 协议对外开放,因此原则上支持任何语言对接,只要这个语言支持 http 请求调用。

例如 PHP、.NET、Node.js 等语言的项目,无法集成 Sa-Token同上也可以通过 http 工具类调用接口的方式来对接 SSO-Server。

建议各位同学先搞懂 NoSdk 模式的对接流程,再参照 SSO 认证中心开放接口 章节进行对接。