Jasny-SSO - PHP 单点登录解决方案


MIT
跨平台
PHP

软件简介

PHP版单点登录 (兼容Ajax)

Jasny\SSO是一种相对简单的单点登录(SSO)实现解决方案。使用SSO,登录到单个网站将验证所有联属网站的身份.

实现原理

一共分为3个角色:

  • Client - 用户的浏览器

  • Broker - 用户访问的网站

  • Server - 保存用户信息和凭据的地方

每个Broker有一个ID和密码。Broker和Server事先已知道的。

当Client访问Broker时,它会创建一个随机令牌,该令牌存储在cookie中。然后,Broker将Client重定向到Server,传递Broker的ID和令牌。Server使用Broker的ID、密码和令牌创建哈希。此哈希用于创建指向用户会话的链接。创建链接后,Server会将Client重定向回Broker。

Broker可以使用令牌(来自cookie)、自己的ID和密码创建相同的链接哈希。在执行请求时,它会传递具有会话ID的请求。

Server将注意到会话ID是链接并使用链接的会话。因此,Broker和Client使用相同的会话。当另一个Broker加入时,它也将使用相同的会话。

有关更深入的解释,请阅读Wiki。