子系统的跨站登录总结

一 起因
最近做子系统的跨站登录,方案有几种
1 OAuth 2.0,可跨不同域名
2 子域名共享cookie,只能子域名下的网站使用

目前所有系统都是同一个域名下的,使用子域名共享cookie这个方案

二 子域名共享cookie实现技术点
1 实现根域名的获取, psl 获取根域名库
2 实现cookie的快捷访问,js-cookie

三 引用
http://www.ruanyifeng.com/blog/2014/05/oauth_2_0.html
https://oauth.net/2/
http://www.cssjunction.com/tutorials/subdomain-cookie-javascript/

三 附录

import * as Cookies from "js-cookie";
import psl  from 'psl';

var CookieStore = {
    getRootDomain() {
        var strdomain;
        if('127.0.0.1' == window.location.hostname || 'localhost' == window.location.hostname ) {
            strdomain = window.location.hostname
        }
        else {
            var psl = require('psl')
            var parsedomain =psl.parse( window.location.hostname)
            
            strdomain = parsedomain.domain
        }
        return strdomain;
    },
    setItem( key, value) {
        Cookies.set(key, value, { domain: this.getRootDomain() })
    },
    getItem(key) {
        return Cookies.get(key, { domain: this.getRootDomain() })
    }

}

export default CookieStore;
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话。常用的会话跟踪技术是Cookie与Se...
    chinariver阅读 10,965评论 1 49
  • 目录Cookie机制什么是CookieCookie的不可跨域名性Unicode编码:保存中文BASE64编码:保存...
    Tomatoro阅读 17,018评论 7 186
  • 本文分两部分 1.转他人的文章,详细介绍了跨站单点登录的原理和解决方案 2.我自己写代码,着重介绍里面的重点部分 ...
    dragonwarrior阅读 14,030评论 0 6
  • 文/Jamie焦 今天是初七,生命在不知不觉间,又向前翻了一页,2018到来了! 话说大年三十前一天,班委们在热烈...
    Jamie焦阅读 1,355评论 0 1
  • 生态自洽无效劳动顶点逻辑时间树
    咸叔说阅读 952评论 0 0

友情链接更多精彩内容