vue前後端分離實現SSO單點登入(跨域)
阿新 • • 發佈:2021-02-08
1.首先在a(www.a.com)網站下建立資料夾a.vue,通過iframe引入B網站登入頁面
<iframe
ref="iframe"
src="http://www.b.com/#/login"
style="height: 400px; width: 1200px; margin-bottom: 100px; display: none"
></iframe>
2.a 通過‘postMessage’傳值給b網站 info為使用者標識內容
this.$refs.iframe.contentWindow.postMessage(info, '*')
3.b網站接受值
window.addEventListener('message', function (e) { if (e.source !== window.parent) return if (e.type !== 'webpackWarnings') { // console.log(typeof e.data) if (typeof e.data === 'string') { // console.log(e.data) let res = JSON.parse(e.data) if (typeof res === 'object') { // console.log(1) localStorage.setItem('user', e.data) localStorage.setItem('toke