单点登录,与移动端第三方登录差不多。比如,App 通过微信第三方帐号登录,跳到微信获取身份,跳回 App 进行登录,步骤思路相似。
开发步骤
- 在 WEB 路由开始拦截,从
document.cookie获取对应域名下的身份信息 - 若已有身份信息,则解析该身份信息,可以通过客户端或者服务端进行解析获取
- 若没有身份信息,则跳转到对应单点登录的网页页面,登录完成后跳回重新第一步
注意事项
-
对应域名是指子系统 eg.abc.com 的域名和主系统 abc.com 的域名相同,这样才能获取对应 domain 的 cookie 信息。如果是本地进行测试的,可以安装应用
iHosts进行配置,比如添加127.0.0.1 test.abc.com本地映射 -
跳转到单点登录网页,需要携带回调地址,比如
window.location.href = http://abc.com/login?redirect=${redirect},redirect 可以是原网页地址的 base64 编码数值