npm

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

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

Readme

Keywords

none

Package Sidebar

Install

npm i @wx-sab/sso-login

Weekly Downloads

5

Version

0.1.24

License

none

Unpacked Size

13.7 kB

Total Files

12

Last publish

Collaborators

  • luanmeng
  • zprial