CN110753045A - 不同域之间单点登录的方法 - Google Patents
不同域之间单点登录的方法 Download PDFInfo
- Publication number
- CN110753045A CN110753045A CN201910971371.7A CN201910971371A CN110753045A CN 110753045 A CN110753045 A CN 110753045A CN 201910971371 A CN201910971371 A CN 201910971371A CN 110753045 A CN110753045 A CN 110753045A
- Authority
- CN
- China
- Prior art keywords
- token
- browser
- verification
- sso
- login
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0815—Network architectures or network communication protocols for network security for authentication of entities providing single-sign-on or federations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0807—Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种不同域之间单点登录的方法。涉及计算机技术领域。包括两个不同域名的站点分别为aa,bb和一个用于验证的SSO服务,步骤如下:步骤一,用户首次访问aa站点的访问;步骤二,SSO服务返回登录页URL让浏览器重新定向到登录页面,则用户输入登录信息后提交到SSO服务器,SSO服务器将登录信息转发到用户管理系统中进行验证;步骤三,浏览器将TOKEN设置到浏览器的localStorage中,由SSO服务器对TOKEN进行验证;步骤四,用户首次登录bb站点,并由SSO服务器进行校验,完成登录。本发明不通过cookie的HTTP协议特性携带TOKEN,将TOKEN存储到浏览器的localStorage中,每次请求都在请求投中设置TOKEN,减低了传输cookie的网络花销,减少浏览器的重定向次数。
Description
技术领域
本发明属于计算机技术领域,特别是涉及一种不同域之间单点登录的方法。
背景技术
在企业发展初期,使用的系统很少,通常一个或者两个,每个系统都有自己的登录模块,用户分别通过系统注册的账号登录使用。随着企业的发展,系统随之增多,用户操作不同系统时,需要多次登录,这对用户来说是很不友好的体验。现有的SSO(Single SignOn)服务最终验证的是请求头中cookie(Cookie基于Internet的各种服务系统应运而生,是由Web服务器保存在用户浏览器上的小文本文件,它可以包含有关用户的信息,是用户获取、交流、传递信息的主要场所之一,无论何时用户链接到服务器,Web站点都可以访问Cookie信息)的TOKEN(服务器算法加MD5加密生成的一个字符串,用来和客户端验证用户有效性,一般服务器再用户登陆时存储在cookie里,每次登陆都会重新生成token),而不是cookie本身,cookie只是作为载体利用HTTP协议携带TOKEN,处理cookie时增加了检查cookie,从cookie中获取TOKEN这些步骤,并且,请求中携带cookie会增加请求头大小,增加网络带宽;当SSO验证请求中没有cookie需要用户登录时,需要浏览器重定向到登录页,增加了浏览器的请求次数和响应时间;各个系统的登录页面由各系统维护,用户未登录时需要重定向到各登录页,增加了请求次数。
发明内容
本发明的目的在于提供一种不同域之间单点登录的方法,不通过cookie的HTTP协议特性携带TOKEN,将TOKEN存储到浏览器的localStorage中,每次请求都在请求投中设置TOKEN,解决了现有的请求中携带cookie会增加请求头大小,增加网络带宽;当SSO验证请求中没有cookie需要用户登录时,需要浏览器重定向到登录页,增加了浏览器的请求次数和响应时间;各个系统的登录页面由各系统维护,用户未登录时需要重定向到各登录页,增加了请求次数的问题。
为解决上述技术问题,本发明是通过以下技术方案实现的:
本发明为一种不同域之间单点登录的方法,包括两个不同域名的站点分别为aa,bb和一个用于验证的SSO服务,步骤如下:
步骤一,用户首次访问aa站点需要验证的页面,站点的Nginx网关将验证请求转发到SSO服务器进行TOKEN验证;
步骤二,SSO服务返回登录页URL让浏览器重新定向到登录页面,则用户输入登录信息后提交到SSO服务器,SSO服务器将登录信息转发到用户管理系统中进行验证,若验证成功则生成TOKEN,将TOKEN返回给浏览器并重新定向到aa站点需要验证的页面,并进行存储,若失败则返回验证信息,则继续验证;
步骤三,浏览器将TOKEN设置到浏览器的localStorage中,之后针对aa站点的访问都会在请求中携带有TOKEN,由SSO服务器对TOKEN进行验证;
步骤四,用户首次登录bb站点,由于浏览器已存储了TOKEN,针对bb站点的请求,也会携带上TOKEN,并由SSO服务器进行校验,完成登录。
进一步地,所述步骤一中SSO服务验证请求中是包含有TOKEN的验证信息以及TOKEN是否过期的验证信息。
进一步地,所述步骤二中浏览器重新定向的登录页面不再是各系统本身的登录页面,而是一个公共登录服务登录页面。
进一步地,所述步骤二中SSO服务器生成TOKEN时,并设置合理的过期时间,在该期间内TOKEN是合法、有效的。
本发明具有以下有益效果:
1、本发明需要验证的请求头中都会带有TOKEN,由SSO统一验证,首次登录不需要再生成cookie,之后未访问过的站点首次访问时也不需要重定向到SSO,通过携带SSO域名下的cookie进行验证。
2、本发明将在cookie中验证登录是否过期的信息设置到TOKEN中,每次需要验证的请求都会由SSO验证TOKEN判断登录是否过期,不再通过cookie判断登录是否过期。
3、本发明直接携带TOKEN,减低了传输cookie的网络花销,减少浏览器的重定向次数。
4、本发明将各系统登录功能整合为一个统一的登录系统,鉴于系统间登录功能的相似程度较高,统一的登录模块减少了开发和维护成本。
5、本发明SSO对每次请求都会做是否过期的验证,而不是只在系统首次登录是验证cookie中的过期信息,减小了过期校验的颗粒度,过期判断更精确。
当然,实施本发明的任一产品并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明的访问示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
请参阅图1所示,本发明为一种不同域之间单点登录的方法,包括两个不同域名的站点分别为www.aa.com(简称aa),www.bb.com(简称bb)和一个用于验证的SSO服务,步骤如下:
步骤一,用户首次访问aa站点需要验证的页面,站点的Nginx网关将验证请求转发到SSO服务器进行TOKEN验证,SSO服务验证请求头中是包含有TOKEN的验证信息以及TOKEN是否过期的验证信息;
步骤二,SSO服务返回登录页URL(Uniform Resource Locator,,又叫做网页地址)让浏览器重新定向到登录页面,则用户输入登录信息后提交到SSO服务器,SSO服务器将登录信息转发到用户管理系统中进行验证,若验证成功则生成TOKEN,将TOKEN返回给浏览器并重新定向到aa站点需要验证的页面,并进行存储,若失败则返回验证信息,则继续验证;
浏览器重新定向的登录页面不再是各系统本身的登录页面,而是一个公共登录服务登录页面,同时,SSO服务器生成TOKEN时,并设置合理的过期时间,在该期间内TOKEN是合法、有效的。
步骤三,浏览器将TOKEN设置到浏览器的localStorage(HTML5的storage是存储在你的计算机上,网站在页面加载完毕后可以通过Javascript来获取这些数据。在HTML5中,本地存储是一个window的属性,包括localStorage和sessionStorage,前者是一直存在本地的,后者只是伴随着session,窗口一旦关闭就没了。二者用法完全相同,这里以localStorage为例)中,之后针对aa站点的访问都会在请求中携带有TOKEN,由SSO服务器对TOKEN进行验证;
步骤四,用户首次登录bb站点,由于浏览器已存储了TOKEN,针对bb站点的请求,也会携带上TOKEN,并由SSO服务器进行校验,完成登录。用户只登录了一次,就能够访问aa、bb站点和其它受信任的站点。
既然SSO服务器最终验证的是TOKEN,就不再需要cookie坐载体,去除生成cookie,解析cookie等步骤,每次请求都直接携带TOKEN;将各模块的登录页整合为一个统一的登录服务,便于开发和管理;SSO服务器验证请求中没有TOKEN时,不再让浏览器重定向到登录页,而是直接返回登录页URL,由各系统通过iframe嵌套该登录页,使用统一登录服务;在TOKEN中设置合理的过期时间,每次请求都能够对是否过期做出校验。
不通过cookie的HTTP协议特性携带TOKEN,将TOKEN存储到浏览器的localStorage中,每次请求都在请求投中设置TOKEN。
在本说明书的描述中,参考术语“一个实施例”、“示例”、“具体示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
以上公开的本发明优选实施例只是用于帮助阐述本发明。优选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本发明的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本发明。本发明仅受权利要求书及其全部范围和等效物的限制。
Claims (4)
1.一种不同域之间单点登录的方法,包括两个不同域名的站点分别为aa,bb和一个用于验证的SSO服务,其特征在于,步骤如下:
步骤一,用户首次访问aa站点需要验证的页面,站点的Nginx网关将验证请求转发到SSO服务器进行TOKEN验证;
步骤二,SSO服务返回登录页URL让浏览器重新定向到登录页面,则用户输入登录信息后提交到SSO服务器,SSO服务器将登录信息转发到用户管理系统中进行验证,若验证成功则生成TOKEN,将TOKEN返回给浏览器并重新定向到aa站点需要验证的页面,并进行存储,若失败则返回验证信息,则继续验证;
步骤三,浏览器将TOKEN设置到浏览器的localStorage中,之后针对aa站点的访问都会在请求中携带有TOKEN,由SSO服务器对TOKEN进行验证;
步骤四,用户首次登录bb站点,由于浏览器已存储了TOKEN,针对bb站点的请求,也会携带上TOKEN,并由SSO服务器进行校验,完成登录。
2.根据权利要求1所述的一种不同域之间单点登录的方法,其特征在于,所述步骤一中SSO服务验证请求中是包含有TOKEN的验证信息以及TOKEN是否过期的验证信息。
3.根据权利要求1所述的一种不同域之间单点登录的方法,其特征在于,所述步骤二中浏览器重新定向的登录页面不再是各系统本身的登录页面,而是一个公共登录服务登录页面。
4.根据权利要求1所述的一种不同域之间单点登录的方法,其特征在于,所述步骤二中SSO服务器生成TOKEN时,并设置合理的过期时间,在该期间内TOKEN是合法、有效的。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910971371.7A CN110753045A (zh) | 2019-10-14 | 2019-10-14 | 不同域之间单点登录的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910971371.7A CN110753045A (zh) | 2019-10-14 | 2019-10-14 | 不同域之间单点登录的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110753045A true CN110753045A (zh) | 2020-02-04 |
Family
ID=69278185
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910971371.7A Pending CN110753045A (zh) | 2019-10-14 | 2019-10-14 | 不同域之间单点登录的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110753045A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111786996A (zh) * | 2020-06-30 | 2020-10-16 | 北京同邦卓益科技有限公司 | 一种跨域同步登录态的方法、装置及跨域同步登录系统 |
CN112583834A (zh) * | 2020-12-14 | 2021-03-30 | 建信金融科技有限责任公司 | 一种通过网关单点登录的方法和装置 |
CN112788019A (zh) * | 2020-12-30 | 2021-05-11 | 杭州天谷信息科技有限公司 | 一种零信任理念下的应用融合方案 |
CN113553569A (zh) * | 2021-07-06 | 2021-10-26 | 猪八戒股份有限公司 | 基于代理服务器的海波龙系统单点登录方法、系统及终端 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101534192A (zh) * | 2008-03-14 | 2009-09-16 | 西门子公司 | 一种提供跨域令牌的系统和方法 |
CN102299802A (zh) * | 2011-09-02 | 2011-12-28 | 深圳中兴网信科技有限公司 | 一种跨域的单点登录实现方法 |
CN103188295A (zh) * | 2011-12-28 | 2013-07-03 | 上海格尔软件股份有限公司 | 一种对用户和应用完全透明的web单点登录方法 |
US8505106B1 (en) * | 2010-06-30 | 2013-08-06 | Amazon Technologies, Inc. | Cross site request forgery mitigation in multi-domain integrations |
CN104378376A (zh) * | 2014-11-18 | 2015-02-25 | 深圳中兴网信科技有限公司 | 基于soa的单点登录方法、认证服务器和浏览器 |
CN105556501A (zh) * | 2013-05-30 | 2016-05-04 | 电子湾有限公司 | 令牌捎带的系统和方法 |
CN108989334A (zh) * | 2018-08-16 | 2018-12-11 | 北京中科梧桐网络科技有限公司 | 一种基于java的sso单点登录方法 |
CN109688114A (zh) * | 2018-12-10 | 2019-04-26 | 迈普通信技术股份有限公司 | 单点登录方法、认证服务器及应用服务器 |
-
2019
- 2019-10-14 CN CN201910971371.7A patent/CN110753045A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101534192A (zh) * | 2008-03-14 | 2009-09-16 | 西门子公司 | 一种提供跨域令牌的系统和方法 |
US8505106B1 (en) * | 2010-06-30 | 2013-08-06 | Amazon Technologies, Inc. | Cross site request forgery mitigation in multi-domain integrations |
CN102299802A (zh) * | 2011-09-02 | 2011-12-28 | 深圳中兴网信科技有限公司 | 一种跨域的单点登录实现方法 |
CN103188295A (zh) * | 2011-12-28 | 2013-07-03 | 上海格尔软件股份有限公司 | 一种对用户和应用完全透明的web单点登录方法 |
CN105556501A (zh) * | 2013-05-30 | 2016-05-04 | 电子湾有限公司 | 令牌捎带的系统和方法 |
CN104378376A (zh) * | 2014-11-18 | 2015-02-25 | 深圳中兴网信科技有限公司 | 基于soa的单点登录方法、认证服务器和浏览器 |
CN108989334A (zh) * | 2018-08-16 | 2018-12-11 | 北京中科梧桐网络科技有限公司 | 一种基于java的sso单点登录方法 |
CN109688114A (zh) * | 2018-12-10 | 2019-04-26 | 迈普通信技术股份有限公司 | 单点登录方法、认证服务器及应用服务器 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111786996A (zh) * | 2020-06-30 | 2020-10-16 | 北京同邦卓益科技有限公司 | 一种跨域同步登录态的方法、装置及跨域同步登录系统 |
CN111786996B (zh) * | 2020-06-30 | 2023-04-18 | 北京同邦卓益科技有限公司 | 一种跨域同步登录态的方法、装置及跨域同步登录系统 |
CN112583834A (zh) * | 2020-12-14 | 2021-03-30 | 建信金融科技有限责任公司 | 一种通过网关单点登录的方法和装置 |
CN112788019A (zh) * | 2020-12-30 | 2021-05-11 | 杭州天谷信息科技有限公司 | 一种零信任理念下的应用融合方案 |
CN112788019B (zh) * | 2020-12-30 | 2023-04-07 | 杭州天谷信息科技有限公司 | 一种零信任理念下的应用融合方案 |
CN113553569A (zh) * | 2021-07-06 | 2021-10-26 | 猪八戒股份有限公司 | 基于代理服务器的海波龙系统单点登录方法、系统及终端 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110120946B (zh) | 一种Web与微服务的统一认证系统及方法 | |
US10887313B2 (en) | Systems and methods for controlling sign-on to web applications | |
CN110753045A (zh) | 不同域之间单点登录的方法 | |
US7827318B2 (en) | User enrollment in an e-community | |
US7237256B2 (en) | Method and system for providing an open and interoperable system | |
US9923906B2 (en) | System, method and computer program product for access authentication | |
WO2022056996A1 (zh) | 一种安全访问内网应用的方法和装置 | |
CN104378376A (zh) | 基于soa的单点登录方法、认证服务器和浏览器 | |
US20150149530A1 (en) | Redirecting Access Requests to an Authorized Server System for a Cloud Service | |
CN110177120A (zh) | 一种单点登录的方法、装置及计算机可读存储介质 | |
CN101355527A (zh) | 一种跨域名单点登录的实现方法 | |
CN1820481A (zh) | 在客户机-服务器环境中认证客户机的系统和方法 | |
CN105141580B (zh) | 一种基于ad域的资源访问控制方法 | |
CN109495486B (zh) | 一种基于JWT的单页Web应用集成CAS的方法 | |
CN105072123A (zh) | 一种集群环境下的单点登陆退出方法及系统 | |
US7895644B1 (en) | Method and apparatus for accessing computers in a distributed computing environment | |
CN102739678B (zh) | 单点登录处理系统和单点登录处理方法 | |
KR102232763B1 (ko) | 멀티 도메인 서비스들을 위한 단일 인증 방법 그리고 이를 구현한 시스템 | |
US20160212123A1 (en) | System and method for providing a certificate by way of a browser extension | |
CN105871822A (zh) | 一种基于b/c/s混合模式的单点登录系统开发模型 | |
CN103634111B (zh) | 单点登录方法和系统及单点登录客户端 | |
CN106357686A (zh) | 单点认证方法和系统 | |
JP2000106552A (ja) | 認証方法 | |
CN113411324B (zh) | 基于cas与第三方服务器实现登录认证的方法和系统 | |
CN101969426A (zh) | 分布式用户认证系统及其方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200204 |
|
RJ01 | Rejection of invention patent application after publication |