@wx-sab/sso-login
v0.1.24
Published
快速接入单点登录平台
Downloads
22
Readme
统一登录平台快速接入
Install
pnpm add @wx-sab/sso-login
Feature
- [x] 支持自定义认证中心地址
- [x] 支持自定义 token 换取方法
- [x] 支持自定义 token key
- [x] 支持自定义存储器,默认存放位置 localStorage
- [x] 支持一键禁用 sso 登录
- [x] 支持容灾降级,认证中心服务异常回退为项目本身登录
- [x] 支持代理
- [x] 允许根据条件来判断是否跳转sso
Usage
import { SSOLogin } from '@wx-sab/sso-login'
const sso = new SSOLogin({
// 认证服务地址
authBaseHost?: string
// 代理服务器
proxy?: string
// 环境(dev\qa\pre\prod),
// 内置四个环节的认证服务地址
// 如果未提供 authBaseHost,可以通过传入env来自动获取
// 如果提供了 authBaseHost,则以 authBaseHost 为准
env?: 'dev' | 'qa' | 'pre' | 'prod'
// 获取登录中心地址
getSSOLoginUrl(config: Partial<SSOLoginConfig>): string | Promise<string>
// 根据ticket换取 sab-token
getSabTokenByTicket(ticket: string, config: Partial<SSOLoginConfig>): string | Promise<string>
// sso 退出登录
ssoLogout?(token: string, config: Partial<SSOLoginConfig>): any;
// 退出登录前
onBeforeLogout?(config: Partial<SSOLoginConfig>): void
// 自动容灾降级,不使用 sso 登录, 默认true
enableTierDown?: boolean
// 禁用 sso 登录
disabled?: boolean
// 缓存的token key,默认 sab-token
tokenKey: string
// 缓存的位置, 默认 localStorage
storage?: StorageLike
// 某些条件下不进行 sso 登录
excludes?: (config: Partial<SSOLoginConfig>) => boolean | Promise<boolean>
})
// SKD初始化
// 如果没有登陆则会自动发起登录
sso.init()
// 手动调用登录
sso.login()
// 退出登录
sso.lougout()