@wx-sab/sso-login
TypeScript icon, indicating that this package has built-in type declarations

0.1.26 • Public • Published

统一登录平台快速接入

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()

Versions

Current Tags

VersionDownloads (Last 7 Days)Tag
0.1.261latest

Version History

VersionDownloads (Last 7 Days)Published
0.1.261
0.1.251
0.1.240
0.1.230
0.1.220
0.1.210
0.1.201
0.1.190
0.1.180
0.1.170
0.1.160
0.1.150
0.1.140
0.1.130
0.1.120
0.1.110
0.1.90
0.1.80
0.1.70
0.1.61
0.1.50
0.1.40
0.1.30
0.1.20
0.1.10
0.1.00

Package Sidebar

Install

npm i @wx-sab/sso-login

Weekly Downloads

4

Version

0.1.26

License

none

Unpacked Size

14.4 kB

Total Files

12

Last publish

Collaborators

  • zprial
  • luanmeng