1.0.0 • Published 2 years ago

dsr-sso-login v1.0.0

Weekly downloads
-
License
ISC
Repository
-
Last release
2 years ago

使用方式

1. 引入函数

import ssoLogin from "sso-login"

2. 参数

// 函数接收一个对象
{
	// 路由to路径,必填
      toPath,
      // 登录认证的域名,选填,有默认值
      baseUrl = "//sitex.paramland.cn",
      // 进入登录认证的路由,选填,有默认值
      ssoLoginPageUrl = "/ssologin",
      // 登出的路由,选填,有默认值
      ssoLogoutPageUrl = "/ssologout"
}

3. 返回值

// 函数返回一个对象
{
	// 是否放行路由,true放行,false不放行
    release: boolean,
    /** 以下三个属性只在release为true的时候返回 */
    // 登录认证后获取到的token
    token: string,
    // 登录后获取的用户信息
    user: object,
    // 登录成功返回跳转认证之前的route,如:"/home",
    // 登录之后直接返回路由的to.path
    path: string
}

4. 示例

import ssoLogin from "sso-login"

router.beforeEach(async(to, from, next) => {
        const res = await ssoLogin({
            toPath: to.path
        })
        const { release, token, user, path } = res
        if (!release) {
            // 验证失败,内部跳转认证 终止导航
            next(false)
        } else {
        	// 验证成功,保存token和用户信息
        	console.log(token, user, path)
            // 请求权限等其他操作
            ...
            next(path)
        }
    })

/** 登出事件 */
1. 先路由跳转到"/ssologout",因为登出需要token
2. 删除token,用户信息等