MCPcopy Create free account
hub / github.com/apache/cloudstack / Logout

Function Logout

ui/src/store/modules/user.js:462–512  ·  view source on GitHub ↗
({ commit, state })

Source from the content-addressed store, hash-verified

460 },
461
462 Logout ({ commit, state }) {
463 return new Promise((resolve) => {
464 var cloudianUrl = null
465 if (state.cloudian.url && state.cloudian.enabled) {
466 cloudianUrl = state.cloudian.url + 'logout.htm?redirect=' + encodeURIComponent(window.location.href)
467 }
468
469 commit('SET_TOKEN', '')
470 commit('SET_APIS', {})
471 commit('SET_PROJECT', {})
472 commit('SET_HEADER_NOTICES', [])
473 commit('SET_FEATURES', {})
474 commit('SET_LDAP', {})
475 commit('SET_CLOUDIAN', {})
476 commit('RESET_THEME')
477 commit('SET_DOMAIN_STORE', {})
478 commit('SET_LOGOUT_FLAG', true)
479 commit('SET_2FA_ENABLED', false)
480 commit('SET_2FA_PROVIDER', '')
481 commit('SET_2FA_ISSUER', '')
482 commit('SET_LOGIN_FLAG', false)
483 commit('SET_MS_ID', '')
484 vueProps.$localStorage.remove(CURRENT_PROJECT)
485 vueProps.$localStorage.remove(ACCESS_TOKEN)
486 vueProps.$localStorage.remove(HEADER_NOTICES)
487
488 logout(state.token).then(() => {
489 message.destroy()
490 if (cloudianUrl) {
491 window.location.href = cloudianUrl
492 } else {
493 resolve()
494 }
495 }).catch(() => {
496 resolve()
497 }).finally(() => {
498 const paths = ['/', '/client']
499 const hostname = window.location.hostname
500 const domains = [undefined, hostname, `.${hostname}`]
501 Object.keys(Cookies.get()).forEach(cookieName => {
502 paths.forEach(path => {
503 domains.forEach(domain => {
504 const options = { path }
505 if (domain) options.domain = domain
506 Cookies.remove(cookieName, options)
507 })
508 })
509 })
510 })
511 })
512 },
513 AddHeaderNotice ({ commit }, noticeJson) {
514 if (!noticeJson || !noticeJson.title) {
515 return

Callers

nothing calls this directly

Calls 6

logoutFunction · 0.90
keysMethod · 0.80
removeMethod · 0.65
destroyMethod · 0.65
getMethod · 0.65
resolveFunction · 0.50

Tested by

no test coverage detected