Initial commit
This commit is contained in:
@@ -0,0 +1,74 @@
|
||||
import Vue from 'vue'
|
||||
import { ACCESS_TOKEN } from '@/store/mutation-types'
|
||||
import store from '@/store'
|
||||
|
||||
/**
|
||||
* 单点登录
|
||||
*/
|
||||
const init = (callback) => {
|
||||
if (process.env.VUE_APP_SSO === 'true') {
|
||||
console.log('-------单点登录开始-------')
|
||||
const token = Vue.ls.get(ACCESS_TOKEN)
|
||||
const st = getUrlParam('ticket')
|
||||
const sevice = 'http://' + window.location.host + '/'
|
||||
if (token) {
|
||||
loginSuccess(callback)
|
||||
} else {
|
||||
if (st) {
|
||||
validateSt(st, sevice, callback)
|
||||
} else {
|
||||
const serviceUrl = encodeURIComponent(sevice)
|
||||
window.location.href = window._CONFIG.casPrefixUrl + '/login?service=' + serviceUrl
|
||||
}
|
||||
}
|
||||
console.log('-------单点登录结束-------')
|
||||
} else {
|
||||
callback && callback()
|
||||
}
|
||||
}
|
||||
const SSO = {
|
||||
init: init
|
||||
}
|
||||
|
||||
function getUrlParam (paraName) {
|
||||
const url = document.location.toString()
|
||||
const arrObj = url.split('?')
|
||||
if (arrObj.length > 1) {
|
||||
const arrPara = arrObj[1].split('&')
|
||||
let arr
|
||||
for (let i = 0; i < arrPara.length; i++) {
|
||||
arr = arrPara[i].split('=')
|
||||
if (arr != null && arr[0] === paraName) {
|
||||
return arr[1]
|
||||
}
|
||||
}
|
||||
return ''
|
||||
} else {
|
||||
return ''
|
||||
}
|
||||
}
|
||||
|
||||
function validateSt (ticket, service, callback) {
|
||||
const params = {
|
||||
ticket: ticket,
|
||||
service: service
|
||||
}
|
||||
store.dispatch('ValidateLogin', params).then(res => {
|
||||
// this.departConfirm(res)
|
||||
if (res.success) {
|
||||
loginSuccess(callback)
|
||||
} else {
|
||||
const sevice = 'http://' + window.location.host + '/'
|
||||
const serviceUrl = encodeURIComponent(sevice)
|
||||
window.location.href = window._CONFIG.casPrefixUrl + '/login?service=' + serviceUrl
|
||||
}
|
||||
}).catch((err) => {
|
||||
console.log(err)
|
||||
// that.requestFailed(err);
|
||||
})
|
||||
}
|
||||
|
||||
function loginSuccess (callback) {
|
||||
callback()
|
||||
}
|
||||
export default SSO
|
||||
Reference in New Issue
Block a user