1.1.7 • Published 1 year ago

vue-wonders-sso-util v1.1.7

Weekly downloads
-
License
ISC
Repository
-
Last release
1 year ago

使用方式

安装

NPM

npm install vue-wonders-sso-util@1.1.7 --save

YARN

yarn add vue-wonders-sso-util@1.1.7

使用

全局注册 main.js中

import SSOGuard from 'vue-wonders-sso-util'
// 参数1:vue路由 VueRouter 
// 参数2:axios对象  
// 参数3:axios 的baseURL (①baseURL可以是指向应用后端的,后端需要对应的拦截,详见springboot后端内容 ②baseURL可以是请求单点中心的baseURL,但是work时候需要自己定义回调)
const ssoGuard = new SSOGuard(router,axios,process.env.VUE_APP_API_ROOT)
//注册到vue实例中
Vue.prototype.$SSOGuard = ssoGuard;
//开启单点拦截
ssoGuard.work();
//开启单点网络拦截
ssoGuard.axiosWork();

//这样就完成单点拦截,
// 获取用户信息在需要的地方调用this.$SSOGuard.getSSOUser()即可
// 注销方式在需要的地方调用this.$SSOGuard.logout()即可
/**
 * axios的完整拦截,需要自己在axios配置添加拦截器。
 * 如以下示例代码,当未授权时候,跳转到单点登录页面
 */
axios.defaults.validateStatus = function(status) {
    return status >= 200 && status <= 500 // 默认的
}
axios.interceptors.response.use(res => {
    if (res.status===401){
        let obj = res.data.result;
        let projectUrl = window.location.href
        window.location.href = `${obj.ssoUrl}?service=${obj.proUrl ? obj.proUrl : projectUrl}`;
        return ;
    }
    return res
}, error => {
    return Promise.reject(error)
})

一些方法

work
开启vue路由拦截
work方法有3个入参 errorBack, successBack, unauthorizedBack
errorBack:异常回调函数
successBack:成功(通过单点校验)回调函数,默认是直接next()
unauthorizedBack:401回调函数,默认是跳转到单点登录页面
logout
this.$SSOGuard.logout()
用于注销,注意此方法只会清除单点用到的缓存,cookie等。业务项目的请在调用此方法前自行清除
getSSOUser
this.$SSOGuard.getSSOUser()
获取单点用户
返回值例子
{
	"expireFreshTime": 1674029403195,
	"expireMinute": 30,
	"loginname": "srm_admin",//登录名
	"userid": "402819b96e1e334b016e8cf7e57c00a7",
	"username": "市人民医院管理员",//用户名
	"version": "ac64301d8e8f4f0ca50c4aa570e82bc1"
}
validate
校验是否登录
返回值为promise

springboot后端

使用此单点工具,后端需要对应的单点拦截。需要配置后端对应jar包 版本>=1.1.7

<dependency>
    <groupId>com.wonders</groupId>
    <artifactId>wonders-sso-backstage</artifactId>
    <version>1.1.7</version>
</dependency>
1.1.7

1 year ago

1.1.6

1 year ago

1.1.5

1 year ago

2.0.0

1 year ago

1.0.0

1 year ago