CN109063457B - 一种跨平台登录统一认证对接方法、存储介质、电子设备 - Google Patents
一种跨平台登录统一认证对接方法、存储介质、电子设备 Download PDFInfo
- Publication number
- CN109063457B CN109063457B CN201810654492.4A CN201810654492A CN109063457B CN 109063457 B CN109063457 B CN 109063457B CN 201810654492 A CN201810654492 A CN 201810654492A CN 109063457 B CN109063457 B CN 109063457B
- Authority
- CN
- China
- Prior art keywords
- token
- keystone
- user
- sso
- dex
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/45—Structures or tools for the administration of authentication
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明提供一种跨平台登录统一认证对接方法,包括步骤:容器云服务响应访问请求,发送重定向请求至Dex组件,Dex组件重定向访问页面至SSO登录页面,接收SSO生成的Ticket,通过Ticket向SSO请求获取用户标识信息;Dex组件通过用户标识信息从CAuth获取用户信息,发送同步用户信息的请求,获取Keystone Token,根据用户信息和Keystone Token生成ID Token;用户端通过ID Token访问容器云服务,容器云平台通过ID Token获取Keystone Token,通过Keystone Token访问Openstack服务。本发明实现跨平台的登录统一认证和用户信息同步,保证了用户从对接平台的任意一方均能实现登录和认证。
Description
技术领域
本发明涉及云计算的技术领域,尤其涉及一种跨平台登录统一认证对接方法、存储介质、电子设备。
背景技术
Keystone是服务提供方,访问Openstack Service时不仅需要通过SSO登录,还需要通过Openstack的权限验证,即必须拥有相关的Keystone Token才能访问Openstack资源,容器云平台与Openstack对接后,SSO仅存储用户的基本信息,而用户与租户相关的信息存储在Keystone中;而用户既要能登陆,也要能通过容器云平台访问到其所在Openstack的相关资源,保证Openstack租户内的用户也在其对应的容器云平台的租户内。,但现有技术无法实现跨平台的登录统一认证和用户信息同步,无法保证用户从对接平台的任意一方均能实现登录和认证。
发明内容
为了克服现有技术的不足,本发明的目的在于提供一种实现跨平台的登录统一认证和用户信息同步的一种跨平台登录统一认证对接方法。
本发明提供一种跨平台登录统一认证对接方法,包括以下步骤:
重定向访问页面,容器云服务响应用户端发送的访问请求,并发送重定向请求至容器云平台的Dex组件,所述Dex组件重定向访问页面至SSO登录页面;
获取用户标识信息,所述Dex组件接收SSO验证用户输入的账号和密码通过时生成的Ticket,并通过所述Ticket向SSO请求获取用户标识信息;
同步用户信息,所述Dex组件通过所述用户标识信息从CAuth获取用户信息,并发送同步所述用户信息的请求至容器云平台的Stack;
生成ID Token,所述Dex组件通过Openstack Service Account向Keystone请求获取Keystone Token,并根据所述用户信息和所述Keystone Token生成ID Token,将所述IDToken返回至用户端;
跨平台登录,用户端通过所述ID Token访问容器云服务,容器云平台通过所述IDToken获取所述Keystone Token,并通过所述Keystone Token访问Openstack服务。
进一步地,所述用户标识信息包括UserID、UserName、Email;同步用户信息中,当所述Dex组件在所述CAuth中未查询到所述UserID时,所述Dex组件将所述用户标识信息写入所述CAuth,并发送用户标识信息同步请求至容器云平台的信息同步服务,容器云平台的信息同步服务通过Openstack Service Account向Keystone拉取所述用户标识信息对应的用户信息,容器云平台的信息同步服务将所述用户信息更新到CAuth。
进一步地,还包括步骤:定时同步信息,定时从Keystone同步所述用户信息至CAuth。
进一步地,还包括步骤:SSO登录,用户端发送访问请求至容器云服务,容器云服务验证所述ID Token是否过期且合法,验证通过则继续访问,验证不通过则所述Dex组件重定向访问页面至SSO登录页面。
进一步地,还包括步骤:登录验证,当SSO登录成功时,所述SSO登录页面通过重定向跳转回所述Dex组件,所述Dex组件验证重定向url中的Ticket是否合法,不合法则SSO登录失败,合法则返回所述UserID,所述Dex组件根据所述UserID向CAuth请求所述用户信息,所述Dex组件根据配置文件中的用户名和密码向Keystone请求获取Keystone Token,所述Keystone Token具有admin权限,所述Ticket具有时间有效期。
进一步地,跨平台登录还包括:当SSO登录成功时,所述SSO登录页面的Cookie中存储长期有效的Cookie Ticket,当容器云平台跳转至Keystone时,Keystone跳转至所述SSO登录页面,SSO验证所述Cookie Ticket,验证成功则SSO生成所述Ticket,通过Location的方式跳转到Keystone界面,Keystone通过所述Ticket进行SSO校验,校验成功则Keystone登录成功。
进一步地,重定向访问页面中,用户通过Console-web访问容器云服务。
进一步地,生成ID Token中,所述ID Token为JWT格式。
一种电子设备,包括:处理器;存储器;以及程序,其中所述程序被存储在所述存储器中,并且被配置成由处理器执行,所述程序包括用于执行一种跨平台登录统一认证对接方法。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行一种跨平台登录统一认证对接方法。
相比现有技术,本发明的有益效果在于:
本发明提供一种跨平台登录统一认证对接方法,容器云平台与Openstack对接后,SSO登录页面的Cookie中存储长期有效的Cookie Ticket,实现跨平台的登录统一认证和用户信息同步,保证了用户从对接平台的任意一方均能实现登录和认证。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,并可依照说明书的内容予以实施,以下以本发明的较佳实施例并配合附图详细说明如后。本发明的具体实施方式由以下实施例及其附图详细给出。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明的一种跨平台登录统一认证对接方法流程图;
图2为本发明的一种跨平台登录统一认证对接方法跨平台登录步骤流程图。
具体实施方式
下面,结合附图以及具体实施方式,对本发明做进一步描述,需要说明的是,在不相冲突的前提下,以下描述的各实施例之间或各技术特征之间可以任意组合形成新的实施例。
一种跨平台登录统一认证对接方法,如图1所示,包括以下步骤:
重定向访问页面,容器云服务响应用户端发送的访问请求,优选的,用户通过Console-web访问容器云服务,因为用户没有登录过容器云平台,HTTP头部没有ID Token,所以容器云服务发送重定向请求至容器云平台的Dex组件,Dex组件重定向访问页面至SSO登录页面。
获取用户标识信息,用户输入工号和密码,提交登录信息至SSO登录页面进行验证,SSO验证用户输入的账号和密码,验证通过则返回具有时间有效期的Ticket至Dex组件,本实施例中,Ticket在Reponse Header中的Location:<URL>中,Ticket的时间有效期为5s,Dex组件通过Ticket向SSO请求获取用户标识信息;SSO检验Ticket的有效性,有效则返回用户标识信息至Dex组件,优选的,用户标识信息包括UserID、UserName、Email。
同步用户信息,Dex组件通过用户标识信息从CAuth获取用户信息,并发送同步用户信息的请求至容器云平台的Stack;优选的,当Dex组件在CAuth中未查询到UserID时,即当用户首次登陆容器云平台时,Dex组件将上述用户标识信息写入CAuth,并发送用户标识信息同步请求至容器云平台的信息同步服务,容器云平台的信息同步服务通过OpenstackService Account向Keystone拉取用户标识信息对应的用户信息,容器云平台的信息同步服务将用户信息更新到CAuth。
在一实施例中,优选的,还包括步骤:定时同步信息,定时从Keystone同步用户信息至CAuth。
生成ID Token,Dex组件通过Openstack Service Account向Keystone请求获取Keystone Token,并根据用户信息和Keystone Token生成ID Token,将ID Token返回至用户端;优选的,生成ID Token中,ID Token为JWT格式。
跨平台登录,用户端通过ID Token访问容器云服务,当容器云平台需要访问Openstack资源时,容器云平台通过ID Token获取Keystone Token,并通过Keystone Token访问Openstack服务。
在一实施例中,ID Token具有有效期,如50分钟,若ID Token的过期时间比Keystone Token的过期时间短,如Keystone Token的过期时间为1小时,则能保证ID Token在有效期内都可以访问Openstack服务,而不会出现容器云平台访问Openstack服务时Keystone Token过期的情况发生。优选的,还包括步骤:SSO登录,用户端发送访问请求至容器云服务,容器云服务验证ID Token是否过期且合法,验证通过则继续访问,验证不通过则Dex组件重定向访问页面至SSO登录页面。
在一实施例中,由于容器云平台需要访问Openstack的API获取Openstack的信息,所以SSO登录后还需要从Keystone获取具有admin权限的Token,优选的,还包括步骤:登录验证,当SSO登录成功时,SSO登录页面通过重定向跳转回Dex组件,Dex组件通过调用SSO接口验证重定向url中的Ticket是否合法,Ticket具有时间有效期,本实施例中,Ticket的有效时间只有5s,且只允许被验证一次,不合法则Dex组件返回错误,SSO登录失败,Console-web弹窗显示错误,合法则返回UserID,Dex组件根据UserID向CAuth请求用户信息,Dex组件根据配置文件中的用户名和密码向Keystone请求获取Keystone Token,Keystone Token具有admin权限,Dex组件将Keystone Token和用户信息封装成ID Token,返回给Console-web,当Console-web登录成功时,若用户没有任何权限,则Console-web只展示空白页面,若用户被赋予过一些权限,则将Console-web显示对应的Compass主页。
如图2所示,Console-web请求后端,获得Keystone的地址,优选的,跨平台登录还包括:当SSO登录成功时返回Cookie,SSO登录页面的Cookie中存储长期有效的CookieTicket,Cookie Ticke只存在于Cookie中,以TGT为开头,当容器云平台跳转至Keystone时,Keystone未检测到Token,则跳转至SSO登录页面,SSO登录页面验证Cookie Ticket,验证成功则SSO生成Ticket,通过Location的方式跳转到Keystone界面,Keystone通过Ticket进行SSO校验,校验成功则Keystone登录成功。
应当理解,一种电子设备,包括:处理器;存储器;以及程序,其中程序被存储在存储器中,并且被配置成由处理器执行,程序包括用于执行一种跨平台登录统一认证对接方法也属于本发明保护;一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行一种跨平台登录统一认证对接方法也属于本发明保护。
以上,仅为本发明的较佳实施例而已,并非对本发明作任何形式上的限制;凡本行业的普通技术人员均可按说明书附图所示和以上而顺畅地实施本发明;但是,凡熟悉本专业的技术人员在不脱离本发明技术方案范围内,利用以上所揭示的技术内容而做出的些许更动、修饰与演变的等同变化,均为本发明的等效实施例;同时,凡依据本发明的实质技术对以上实施例所作的任何等同变化的更动、修饰与演变等,均仍属于本发明的技术方案的保护范围之内。
Claims (10)
1.一种跨平台登录统一认证对接方法,其特征在于,包括以下步骤:
重定向访问页面,容器云服务响应用户端发送的访问请求,并发送重定向请求至Openstack容器云平台的Dex组件,所述Dex组件重定向访问页面至SSO登录页面;
获取用户标识信息,所述Dex组件接收SSO验证用户输入的账号和密码通过时生成的Ticket,并通过所述Ticket向SSO请求获取用户标识信息;
同步用户信息,所述Dex组件通过所述用户标识信息从CAuth获取用户信息,并发送同步所述用户信息的请求至Openstack容器云平台的处理节点;
生成ID Token,所述Dex组件通过Openstack Service Account向Keystone请求获取Keystone Token,并根据所述用户信息和所述Keystone Token生成ID Token,将所述IDToken返回至用户端;
跨平台登录,用户端通过所述ID Token访问容器云服务,Openstack容器云平台通过所述ID Token获取所述Keystone Token,并通过所述Keystone Token访问Openstack服务。
2.如权利要求1所述的一种跨平台登录统一认证对接方法,其特征在于:所述用户标识信息包括UserID、UserName、Email;同步用户信息中,当所述Dex组件在所述CAuth中未查询到所述UserID时,所述Dex组件将所述用户标识信息写入所述CAuth,并发送用户标识信息同步请求至Openstack容器云平台的信息同步服务,Openstack容器云平台的信息同步服务通过OpenstackService Account向Keystone拉取所述用户标识信息对应的用户信息,Openstack容器云平台的信息同步服务将所述用户信息更新到CAuth。
3.如权利要求1所述的一种跨平台登录统一认证对接方法,其特征在于,还包括步骤:定时同步信息,定时从Keystone同步所述用户信息至CAuth。
4.如权利要求2所述的一种跨平台登录统一认证对接方法,其特征在于,还包括步骤:SSO登录,用户端发送访问请求至容器云服务,容器云服务验证所述ID Token是否过期且合法,验证通过则继续访问,验证不通过则所述Dex组件重定向访问页面至SSO登录页面。
5.如权利要求4所述的一种跨平台登录统一认证对接方法,其特征在于,还包括步骤:登录验证,当SSO登录成功时,所述SSO登录页面通过重定向跳转回所述Dex组件,所述Dex组件验证重定向url中的Ticket是否合法,不合法则SSO登录失败,合法则返回所述UserID,所述Dex组件根据所述UserID向CAuth请求所述用户信息,所述Dex组件根据配置文件中的用户名和密码向Keystone请求获取Keystone Token,所述Keystone Token具有admin权限,所述Ticket具有时间有效期。
6.如权利要求5所述的一种跨平台登录统一认证对接方法,其特征在于,跨平台登录还包括:当SSO登录成功时,所述SSO登录页面的Cookie中存储长期有效的Cookie Ticket,当Openstack容器云平台跳转至Keystone时,Keystone跳转至所述SSO登录页面,SSO验证所述Cookie Ticket,验证成功则SSO生成所述Ticket,通过Location的方式跳转到Keystone界面,Keystone通过所述Ticket进行SSO校验,校验成功则Keystone登录成功。
7.如权利要求1所述的一种跨平台登录统一认证对接方法,其特征在于:重定向访问页面中,用户通过Console-web访问容器云服务。
8.如权利要求1所述的一种跨平台登录统一认证对接方法,其特征在于:生成ID Token中,所述ID Token为JWT格式。
9.一种电子设备,其特征在于包括:处理器;存储器;以及程序,其中所述程序被存储在所述存储器中,并且被配置成由处理器执行,所述程序包括用于执行权利要求1-8所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于:所述计算机程序被处理器执行如权利要求1-8所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810654492.4A CN109063457B (zh) | 2018-06-22 | 2018-06-22 | 一种跨平台登录统一认证对接方法、存储介质、电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810654492.4A CN109063457B (zh) | 2018-06-22 | 2018-06-22 | 一种跨平台登录统一认证对接方法、存储介质、电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109063457A CN109063457A (zh) | 2018-12-21 |
CN109063457B true CN109063457B (zh) | 2021-05-28 |
Family
ID=64820867
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810654492.4A Active CN109063457B (zh) | 2018-06-22 | 2018-06-22 | 一种跨平台登录统一认证对接方法、存储介质、电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109063457B (zh) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109639723A (zh) * | 2019-01-10 | 2019-04-16 | 深圳市买买提信息科技有限公司 | 一种基于erp系统的微服务访问方法及服务器 |
CN109889524A (zh) * | 2019-02-26 | 2019-06-14 | 浪潮软件集团有限公司 | 一种基于树的云计算应用系统的鉴权装置及方法 |
CN110324307A (zh) * | 2019-05-16 | 2019-10-11 | 平安科技(深圳)有限公司 | 一种基于云技术的单点登录验证方法及相关设备 |
CN110247931B (zh) * | 2019-07-02 | 2022-02-25 | 维沃移动通信有限公司 | 一种信息处理方法及服务器 |
CN110336828A (zh) * | 2019-07-15 | 2019-10-15 | 中国联合网络通信集团有限公司 | 一种信息同步方法和第一服务器 |
CN110519240B (zh) * | 2019-08-09 | 2021-04-27 | 浙江大搜车软件技术有限公司 | 一种单点登录方法、装置及系统 |
CN110673892B (zh) * | 2019-09-17 | 2023-01-03 | 中电万维信息技术有限责任公司 | 一种基于组件配置的接口统一调用方法 |
CN110581863B (zh) * | 2019-10-25 | 2022-03-04 | 北京浪潮数据技术有限公司 | 一种云平台的单点登录方法、装置、设备及介质 |
CN110958248A (zh) * | 2019-12-03 | 2020-04-03 | 紫光云(南京)数字技术有限公司 | 网络服务系统间的免密认证方法、装置及系统 |
CN112637113B (zh) * | 2020-09-04 | 2022-08-12 | 山东英信计算机技术有限公司 | 集成系统跨平台认证方法及相关组件 |
CN112187753B (zh) * | 2020-09-18 | 2023-07-14 | 北京浪潮数据技术有限公司 | 一种数据更新方法、装置、设备及可读存储介质 |
CN113297559B (zh) * | 2021-05-12 | 2023-01-06 | 曙光信息产业股份有限公司 | 单点登录方法、装置、计算机设备和存储介质 |
CN113407448A (zh) * | 2021-06-18 | 2021-09-17 | 杭州遥望网络科技有限公司 | Grafana功能管控方法、装置、电子设备及介质 |
CN113468579A (zh) * | 2021-07-23 | 2021-10-01 | 挂号网(杭州)科技有限公司 | 数据访问方法、装置、设备和存储介质 |
CN113612865A (zh) * | 2021-07-29 | 2021-11-05 | 济南浪潮数据技术有限公司 | 一种云平台ldap域账户管理的方法、装置、设备及可读介质 |
CN113660284B (zh) * | 2021-08-26 | 2023-02-21 | 贵州电子商务云运营有限责任公司 | 一种基于票据的分布式认证方法 |
CN114172700A (zh) * | 2021-11-24 | 2022-03-11 | 中国人寿保险股份有限公司上海数据中心 | 基于云平台结合域控服务器的统一认证系统及方法 |
CN115529177A (zh) * | 2022-09-26 | 2022-12-27 | 北京计算机技术及应用研究所 | 一种跨平台的系统安全登录认证系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103259663A (zh) * | 2013-05-07 | 2013-08-21 | 南京邮电大学 | 一种云计算环境下的用户统一认证方法 |
CN107438067A (zh) * | 2017-06-27 | 2017-12-05 | 北京溢思得瑞智能科技研究院有限公司 | 一种基于mesos容器云平台的多租户构建方法及系统 |
CN107453872A (zh) * | 2017-06-27 | 2017-12-08 | 北京溢思得瑞智能科技研究院有限公司 | 一种基于Mesos容器云平台的统一安全认证方法及系统 |
-
2018
- 2018-06-22 CN CN201810654492.4A patent/CN109063457B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103259663A (zh) * | 2013-05-07 | 2013-08-21 | 南京邮电大学 | 一种云计算环境下的用户统一认证方法 |
CN107438067A (zh) * | 2017-06-27 | 2017-12-05 | 北京溢思得瑞智能科技研究院有限公司 | 一种基于mesos容器云平台的多租户构建方法及系统 |
CN107453872A (zh) * | 2017-06-27 | 2017-12-08 | 北京溢思得瑞智能科技研究院有限公司 | 一种基于Mesos容器云平台的统一安全认证方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN109063457A (zh) | 2018-12-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109063457B (zh) | 一种跨平台登录统一认证对接方法、存储介质、电子设备 | |
US9979712B2 (en) | Synchronizing authentication sessions between applications | |
WO2020155492A1 (zh) | 一种基于设备id的登录态共享方法及装置 | |
US9548976B2 (en) | Facilitating single sign-on to software applications | |
JP6204986B2 (ja) | 同期通信におけるサーバー証明書エラーへの安全な対処 | |
WO2019218747A1 (zh) | 一种第三方授权登录方法及系统 | |
CN115021991A (zh) | 未经管理的移动设备的单点登录 | |
US10635792B2 (en) | Multi-factor authentication with URL validation | |
CN105592011B (zh) | 一种账号登录方法及装置 | |
US20100122327A1 (en) | Secure authentication for accessing remote resources | |
US10206099B1 (en) | Geolocation-based two-factor authentication | |
AU2015289493A1 (en) | Tiered connection pooling methods, systems and computer readable storage media | |
US8370914B2 (en) | Transition from WS-Federation passive profile to active profile | |
US9614828B1 (en) | Native authentication experience with failover | |
CN112583834B (zh) | 一种通过网关单点登录的方法和装置 | |
CN112491778A (zh) | 认证方法、装置、系统及介质 | |
CN105991518B (zh) | 网络接入认证方法及装置 | |
CN106254328B (zh) | 一种访问控制方法及装置 | |
US20150244704A1 (en) | Techniques to authenticate user requests involving multiple applications | |
CN110601832A (zh) | 一种数据访问方法及装置 | |
CN109995775B (zh) | 区块链验证码应用方法、设备和存储介质 | |
US10992474B2 (en) | Proactive user authentication for facilitating subsequent resource access across multiple devices | |
US20150295918A1 (en) | User authentication system in web mash-up circumstance and authenticating method thereof | |
CN103069741A (zh) | 凭据认证方法及单点登录服务器 | |
CN105812138B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20210723 Address after: 200433 no.465 Guohe Road, Yangpu District, Shanghai Patentee after: Shanghai suixun Electronic Technology Co.,Ltd. Address before: 310000 b3128, 3rd floor, building 1 (North), 368 Liuhe Road, Binjiang District, Hangzhou City, Zhejiang Province Patentee before: HANGZHOU CAICLOUD TECHNOLOGY Co.,Ltd. |