3.0.2 • Published 1 year ago
youloge.sso v3.0.2
Youloge.sso 单点登录 ⚡
关闭该库 改用Youloge.plus
库 -> Youloge.plus
该库不在维护 请使用 youloge.plus
开放式的单点登录服务,正式版本 3.0.0,体积小 引入方便 免维护 先到 管理后台-apikey 获取一对加解密密钥(
ukey/secret
)。
💡 ⚡️ 🛠️ 📦 🔩 🔑 - 开放文档
建议直接引入CDN 即可使用
1.52 kB │ gzip: 0.85 kB
https://unpkg.com/youloge.sso
或者https://cdn.jsdelivr.net/npm/youloge.sso
主动调用
youloge.sso.run(config)
方法,通过.then
和.catch
接收回调
更新日志
- 3.0.0 正式版本发布,优化通信,传参问题
- 2.2.0 优化CDN引入,更新
postmessage
通信 - 2.1.0 大更新使用
ukey
作为项目完整签名入口 - 2.0.1 更新业务承接页面地址,为扫码登录前置条件
- 1.0.8 新增
close
配置,是否显示关闭按钮,对内嵌模式更友好
youloge.sso.run({
ukey:'', // 必填 调用凭证
width:360, // 默认宽度
height:320, // 默认高度
close:true, // 默认显示 是否显示关闭按钮
}).then(res=>{
// 登录成功
}).catch(err=>{
// 登录失败 关闭登录 ...
})
返回值
{
"uuid":"", // 唯一ID
"name":"", // 昵称
"avatar":"", // 头像ID * `//img.youloge.com/${avatar}!80` 支持`80`-80x80px `150` - 150x150px
"mail":"", // 用户邮箱 *
"created":"", // 创建时间
"updated":"", // 更新时间
"expire":"", // 过期时间 7天有效期
"signer":"", // 定向签名 * 只能自己解密
}
// `mail`和UUID都是唯一的,邮箱地址可能会变化,不要作为判断用户唯一性,例如用户微信扫码登录系统会临时分配一个虚拟邮箱
进行校验
ukey
- 暴漏给前端
secret
- 对sign 进行AES对称
解密即可(服务端调用,不要暴漏)
signer
- base64 编码二进制 加密数据
// 解密参考
public function signer_decrypt($signer,$secret='')
{
$bin = base64_decode($signer);
return openssl_decrypt(substr($bin,16),'AES-128-CBC',base64_decode($secret),1,substr($bin,0,16));
// `uuid:mail:expire` 参数使用`:`隔开
}
但行好事 莫问前程