CN114745156A - 分布式单点登录实现方法、装置、电子设备及存储介质 - Google Patents
分布式单点登录实现方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN114745156A CN114745156A CN202210253833.3A CN202210253833A CN114745156A CN 114745156 A CN114745156 A CN 114745156A CN 202210253833 A CN202210253833 A CN 202210253833A CN 114745156 A CN114745156 A CN 114745156A
- Authority
- CN
- China
- Prior art keywords
- sub
- authentication
- application system
- single sign
- token
- 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
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/321—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
- H04L9/3213—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority using tickets or tokens, e.g. Kerberos
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Telephonic Communication Services (AREA)
Abstract
本发明提供一种分布式单点登录实现方法、装置、电子设备及存储介质,方法包括:接收来自子应用***的认证请求,所述认证请求包括子应用***的***标识及用户信息,其中所述子应用***为智慧水务子应用***、工业智能化集群子应用***、移动子应用***的其中之一;在单点登录一站式管理***认证鉴权页面根据所述用户信息进行鉴权认证,获取单点登录令牌;根据所述***标识和所述单点登录令牌获取验证信息,并根据所述验证信息进行验证,完成单点登录。本发明能够同时支持令牌认证、会话认证和移动应用认证的单点登录。
Description
技术领域
本发明属于工业互联网***集成技术领域,具体涉及到一种分布式单点登录实现方法、装置、电子设备及存储介质。
背景技术
随着国家政策利导智慧水务行业的发展和工业物联网技术的发展,智慧水务应用***和工业智能化、自动化***也在不断的扩大和完善。不论是智慧水务应用***还是工业智能化***都由几十个独立运行的子应用***组合而成;通常每个独立的子应用***都是分阶段自主研发或分阶段采购的,每个子应用***都会有各自独立的用户登录和鉴权机制;用户访问每一个子应用***都需要输入账号密码进行登录鉴权才能进行业务功能操作,如此用户为了使用***,势必要记录几十个子应用***的账号、密码、登录地址等。影响了用户使用的体验,增加了用户管理上的复杂度,也使***管理上的安全存在重大的隐患。
传统的单点登录技术(Single Sign On,SSO)是一种多***集成场景中用户仅登录一次就可以实现各个***共同认可登录的实现方案,但是目前的单点登录技术基本上都是通过采用令牌(Token)认证方式,且要求对各个子应用***进行源代码修改才能完成从单点登录集成***到各个子应用***的自动登录认证。但是以本公司为例,本公司自主研发的智慧水务各子应用***,采用JWT(Json Web Token)认证方式进行鉴权;但工业智能化、自动化子应用***主要采用会话(Session)认证方式进行鉴权;尤其当移动应用子***需要接入进行时,传统的单点登录技术就完全不能满足需求了。
发明内容
本发明提供一种分布式单点登录实现方法、装置、电子设备及存储介质,以解决现有的无法同时支持Token认证、Session认证和移动应用认证的问题。
基于上述目的,本发明实施例提供了一种分布式单点登录实现方法,包括:接收来自子应用***的认证请求,所述认证请求包括子应用***的***标识及用户信息,其中所述子应用***为智慧水务子应用***、工业智能化集群子应用***、移动子应用***的其中之一;在单点登录一站式管理***认证鉴权页面根据所述用户信息进行鉴权认证,获取单点登录令牌;根据所述***标识和所述单点登录令牌获取验证信息,并根据所述验证信息进行验证,完成单点登录。
可选的,所述在单点登录一站式管理***认证鉴权页面根据所述用户信息进行鉴权认证,获取单点登录令牌,包括:在所述单点登录一站式管理***认证鉴权页面,如果根据所述用户信息检测到用户取得所述单点登录一站式管理***的认证鉴权,则获得存储的所述单点登录令牌;如果根据所述用户信息检测到用户未认证,则导向认证服务中心,通过所述认证服务中心对所述用户信息进行验证,并对用户标识、过期时间以及权限集合进行加密生成所述单点登录令牌。
可选的,所述根据所述***标识和所述单点登录令牌获取验证信息,包括:如果所述子应用***为智慧水务子应用***或工业智能化集群子应用***,则根据所述***标识和所述单点登录令牌从认证服务中心换取所述智慧水务子应用***的鉴权凭证和验证地址;如果所述子应用***为移动子应用***,则请求移动应用集群服务的服务网关对所述单点登录令牌进行验证,验证通过后获取与所述***标识对应的所述移动子应用***的令牌。
可选的,所述根据所述验证信息进行验证,完成单点登录,包括:如果所述子应用***为智慧水务子应用***或工业智能化集群子应用***,则控制从单点登录一站式管理***认证页面回调至所述验证地址,以应用所述鉴权凭证对子应用***进行核对校验,核对成功即完成单点登录;如果所述子应用***为移动子应用***,则将所述令牌转发至所述移动子应用***的服务器接口以核对验证所述令牌,核对成功即完成单点登录。
基于同一发明构思,本发明实施例还提出了一种分布式单点登录实现方法,包括:响应用户的登录请求,并向单点登录一站式管理***发送认证请求,所述认证请求包括子应用***的***标识及用户信息,其中所述子应用***为智慧水务子应用***、工业智能化集群子应用***、移动子应用***的其中之一;控制跳转至单点登录一站式管理***认证鉴权页面以对所述用户信息进行鉴权认证,并接收在鉴权认证通过后获取的所述子应用***的验证信息;根据所述验证信息和所述***标识进行验证,完成单点登录。
可选的,所述控制跳转至单点登录一站式管理***认证鉴权页面以对所述用户信息进行鉴权认证,并接收在鉴权认证通过后获取的所述子应用***的验证信息,包括:如果所述子应用***为智慧水务子应用***,则控制跳转至单点登录一站式管理***认证鉴权页面,通过Ocelot服务网关进行鉴权认证,并在鉴权认证通过后接收认证服务中心反馈的所述智慧水务子应用***的第一令牌信息和验证地址;如果所述子应用***为工业智能化集群子应用***,则控制跳转至单点登录一站式管理***认证鉴权页面,通过所述Ocelot服务网关进行鉴权认证,并在鉴权认证通过后接收认证服务中心反馈的所述工业智能化集群子应用***的会话信息和验证地址;如果所述子应用***为移动子应用***,则控制跳转至单点登录一站式管理***认证鉴权页面进行鉴权认证,获取单点登录一站式管理***颁发的单点登录令牌,并通过网关移动应用集群服务的服务网关Gateway对所述单点登录令牌进行验证,接收验证通过后获取的与所述***标识对应的所述移动子应用***的第二令牌信息。
基于同一发明构思,本发明实施例还提出了一种分布式单点登录实现装置,包括:请求接收单元,用于接收来自子应用***的认证请求,所述认证请求包括子应用***的***标识及用户信息,其中所述子应用***为智慧水务子应用***、工业智能化集群子应用***、移动子应用***的其中之一;第一鉴权认证单元,用于在单点登录一站式管理***认证鉴权页面根据所述用户信息进行鉴权认证,获取单点登录令牌;第一单点登录单元,用于根据所述***标识和所述单点登录令牌获取验证信息,并根据所述验证信息进行验证,完成单点登录。
基于同一发明构思,本发明实施例还提出了一种分布式单点登录实现装置,包括:请求发送单元,用于响应用户的登录请求,并向单点登录一站式管理***发送认证请求,所述认证请求包括子应用***的***标识及用户信息,其中所述子应用***为智慧水务子应用***、工业智能化集群子应用***、移动子应用***的其中之一;第二鉴权认证单元,用于控制跳转至单点登录一站式管理***认证鉴权页面以对所述用户信息进行鉴权认证,并接收在鉴权认证通过后获取的所述子应用***的验证信息;第二单点登录单元,用于根据所述验证信息和所述***标识进行验证,完成单点登录。
基于同一发明构思,本发明实施例还提出了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现前述的方法。
基于同一发明构思,本发明实施例还提出了一种计算机存储介质,存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行前述的方法。
本发明的有益效果是:从上面所述可以看出,本发明实施例提供的一种分布式单点登录实现方法、装置、电子设备及存储介质,方法包括:接收来自子应用***的认证请求,所述认证请求包括子应用***的***标识及用户信息,其中所述子应用***为智慧水务子应用***、工业智能化集群子应用***、移动子应用***的其中之一;在单点登录一站式管理***认证鉴权页面根据所述用户信息进行鉴权认证,获取单点登录令牌;根据所述***标识和所述单点登录令牌获取验证信息,并根据所述验证信息进行验证,完成单点登录,能够同时支持令牌认证、会话认证和移动应用认证的单点登录。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中的分布式单点登录实现方法的流程示意图;
图2为本发明实施例中的分布式单点登录实现***的结构示意图;
图3为本发明实施例中的分布式单点登录实现***的单点登录示意图;
图4为本发明实施例中的另一分布式单点登录实现方法的示意图;
图5为本发明实施例中的分布式单点登录实现***的数据字典配置示意图;
图6为本发明实施例中的分布式单点登录实现***的账号绑定计算示意图;
图7为本发明实施例中的智慧水务子应用***单点登录业务流程示意图;
图8为本发明实施例中的工业智能化集群子应用***单点登录业务流程示意图;
图9为本发明实施例中的移动子应用***单点登录业务流程示意图;
图10为本发明实施例中的又一分布式单点登录实现方法的流程示意图;
图11为本发明实施例中的分布式单点登录实现装置的结构示意图;
图12为本发明实施例中的另一分布式单点登录实现装置的结构示意图;
图13为本发明实施例中电子设备示意图。
具体实施方式
为使本公开的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本公开进一步详细说明。
需要说明的是,除非另外定义,本发明实施例使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本发明实施例中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。
本发明实施例提供了一种分布式单点登录实现方法。本发明实施例的分布式单点登录实现方法应用于单点登录一站式管理***。如附图1所示,分布式单点登录实现方法包括:
步骤S11:接收来自子应用***的认证请求,所述认证请求包括子应用***的***标识及用户信息,其中所述子应用***为智慧水务子应用***、工业智能化集群子应用***、移动子应用***的其中之一。
如图2所示,本发明实施例中的分布式单点登录实现***包括单点登录一站式管理***、单点登录认证服务中间件(即认证服务中心)和Ocelot服务网关以及智慧水务业务子应用***若干、工业智能化集群子应用***若干、信息化移动子应用(APP)若干,n为正整数。
智慧水务业务子应用***包含智能水表远程抄表平台、营销收费平台、地理信息***(Geographic Information System,GIS)巡检平台、直接存储器访问(Direct MemoryAccess,DMA)分区计量平台、漏损决策***、智慧客服***、能耗分析平台、水利模型平台等等。例如,一个智慧水务子应用***设定为远程抄表平台应用***,其采用JWT(Json WebToken)认证方式进行鉴权,用于在接收到用户登录认证授权请求后,确认该用户是否有授权认证TOKEN,以及根据与单点登录一站式管理***的事先约定的单点登录认证鉴权导向地址及携带远程抄表平台应用***标识参数SYSCODE,进行导向跳转分布式单点登录一站式管理***。
工业智能化集群子应用***包含智能水表动态参数设置平台、物联网水表自动化智能检测平台、设备编号申请平台、SIM卡管理***、激光打码自动化平台、MES***、贴片机自动化检测平台等等。例如,一个工业智能化集群子应用***设定为NB-IOT物联网智能水表自动质量检测应用***,其采用SESSION认证方式进行鉴权,用于在接收到用户登录认证授权请求后,确认该用户在服务器端是否有授权认证SESSION,以及根据与单点登录一站式系管理***的事先约定的单点登录认证鉴权导向地址及携带NB-IOT物联网智能水表自动质量检测应用***标识参数SYSCODE,进行导向跳转分布式单点登录一站式管理***。
信息化移动子应用APP包含客户关系管理***(Customer relationshipmanagement system,CRM)应用APP、OA应用APP、E-Mail应用APP、移动抄表云APP、智能水表移动调试APP、MES应用移动看板APP等等。例如,一个子应用APP***设定为客户关系管理***CRM,其基于Android的原生移动APP应用,采用JWT(Json Web Token)认证方式进行鉴权,用于用户在访问移动APP应用请求服务器接口数据时,确认该用户是否有授权认证SSOTOKEN(SSOTOKEN为单点登录一站式管理***颁发的TOKEN凭证),以及根据与单点登录一站式管理***的事先约定的单点登录一站式管理***凭证SSOTOKEN的鉴权接口,进行子应用***权限获取。
单点登录一站式管理***用于接收从智慧水务子应用***、工业智能化集群子应用***及公司信息化子应用***及携带子业务应用***标识参数跳转过来的认证请求,以及根据用户输入的账号信息进行认证服务中心鉴权处理后,根据子业务应用***回调地址进行跳转,完成认证鉴权。单点登录一站式管理***用于作为一站式账号管理和单点登录授权访问的前端呈现***,主要功能包含配置子应用***数据字典、绑定子应用***加密账号信息及审计单点登录一站式管理***操作日志。单点登录一站式管理***中包括一安全存储模块,用于存储单点登录令牌SSOTOKEN等。认证服务中心作为单点登录技术核心模块,用于单点登录一站式***凭证,即单点登录令牌SSOTOKEN的颁发、子应用***自身凭据(TOKEN或Session)的取得及移动应用根据所述单点登录凭证(SSOTOKEN)换取子应用***凭据(TOKEN)。认证服务中心用于接收从智慧水务子应用***、工业智能化集群子应用***导向过来的认证鉴权需求,并接收单点登录一站式管理***的登录账号信息,包含账号(如分配账号或手机号码)、密码和验证码,认证服务中心在校验账号密码成功后,根据约定规则生成加密SSOTOKEN凭证。Ocelot服务网关用于单点登录认证服务中心分布式实施,主要实现路由、请求聚合、服务发现、限流熔断以及移动APP服务换取子应用APP服务的凭据TOKEN。单点登录一站式管理***可以分别部署两台或多台服务器,通过Consul服务发现及Ocelot网关技术实现负载均衡,防止单点登录一站式管理***在认证鉴权中出现单点故障问题。
如图3所示,用户在请求某子应用***时,会自动导向认证服务中心,即首先导向单点登录Ocelot服务网关,Ocelot服务网关过滤用户是否已认证。如果检测已认证并取得授权,则直接携带子应用***事先约定的鉴权方式所需的参数导向回调地址,即完成单点登录。反之,如果检测未认证,则导向单点登录认证服务中间件,即认证服务中心,要求用户提交认证服务中心事先颁发的用户账号信息,认证服务中间件核对校验用户提交的账号信息后,将用户标识(UserID)、过期时间(ExpirationTime)、权限集合(Claims)通过非对称加密算法生成SSOTOKEN凭证进行输出,并携带子应用***事先约定的鉴权方式所需的参数导向回调地址,即完成单点登录。
在步骤S11中,子应用***接收用户的登录或操作子应用***的请求,并根据该用户请求向单点登录一站式管理***发送认证请求,单点登录一站式管理***接收该认证请求,认证请求包括子应用***的***标识SYSCODE及用户信息,用户信息至少包括用户标识(UserID)。
步骤S12:在单点登录一站式管理***认证鉴权页面根据所述用户信息进行鉴权认证,获取单点登录令牌。
可选地,在所述单点登录一站式管理***认证鉴权页面,如果根据所述用户信息检测到用户取得所述单点登录一站式管理***的认证鉴权,则获得存储的所述单点登录令牌。如果根据所述用户信息检测到用户未认证,则导向认证服务中心,通过所述认证服务中心对所述用户信息进行验证,并对用户标识、过期时间以及权限集合进行加密生成所述单点登录令牌。
在本发明实施例中,用户在请求智慧水务子应用***k时,根据事先约定参数自动导向单点登录一站式管理***认证鉴权页面,其中携带智慧水务子应用***k的***标识SYSCODE,用于标示登录请求子应用***来源。如果认证服务中心检测该用户没有通过认证授权,将跳转一站式管理***登录页面,用户提交认证服务中心颁发的用户信息到认证服务中心后台进行核对校验,该用户信息包括一站式管理***账号、密码、验证码等。校验通过后认证服务中心将用户标识(UserID)、过期时间(ExpirationTime)、权限集合(Claims)通过非对称加密算法生成单点登录令牌SSOTOKEN。
用户请求操作工业智能化集群子应用***,识别未有认证鉴权,自动导向单点登录一站式管理***认证鉴权页面,其中携带工业智能化集群子应用***的***标识SYSCODE,用于标示登录请求子应用***来源。单点登录一站式管理***认证鉴权页面检测到用户已存储并携带单点登录一站式管理***颁发的单点登录令牌SSOTOKEN凭证,即表明用户已经取得单点登录一站式管理***的认证鉴权。
用户请求操作公司CRM子应用APP***,识别未有所述的单点登录一站式管理***所颁发的单点登录令牌SSOTOKEN,自动导向事先约定的内置单点登录一站式管理***认证鉴权VIEW,其中携带移动子应用***的***标识SYSCODE和回调统一资源标志符(UniformResourceIdentifier,URI)。用户根据CRM子应用APP***呈现单点登录一站式管理***内置约定的认证VIEW,输入一站式管理***账号信息,提交认证服务中心进行核对校验。认证服务中心校验成功后,将用户标识(UserID)、过期时间(ExpirationTime)、权限集合(Claims)通过非对称加密算法生成单点登录令牌SSOTOKEN。
步骤S13:根据所述***标识和所述单点登录令牌获取验证信息,并根据所述验证信息进行验证,完成单点登录。
可选地,如果所述子应用***为智慧水务子应用***或工业智能化集群子应用***,则根据所述***标识和所述单点登录令牌从认证服务中心换取所述智慧水务子应用***的鉴权凭证和验证地址,其中鉴权凭证为第一令牌令牌或会话信息;控制从单点登录一站式管理***认证页面回调至所述验证地址,以应用所述鉴权凭证对子应用***进行核对校验,核对成功即完成单点登录。如果所述子应用***为移动子应用***,则请求移动应用集群服务的服务网关对所述单点登录令牌进行验证,验证通过后获取与所述***标识对应的所述移动子应用***的令牌;将所述令牌转发至所述移动子应用***的服务器接口以核对验证所述令牌,核对成功即完成单点登录。
在本发明实施例中,如果子应用***为智慧水务子应用***,认证服务中心生成单点登录令牌的同时,根据请求子应用信息来源SYSCODE参数,从存储数据库设备中取得对应子应用***提前配置好的请求导向验证地址及子应用***认证接口地址。认证服务中心根据所请求的标识智慧水务子应用***信息来源的***标识SYSCODE,取得智慧水务子应用***的账号信息,请求取得的智慧水务子应用***认证接口,即验证地址,获取智慧水务子应用***独立的第一令牌信息TOKEN。认证服务中心将生成的单点登录令牌SSOTOKEN、子应用***独立的第一令牌信息TOKEN及智慧水务子应用***请求导向验证地址及参数组合成消息对象输出。单点登录一站式管理***认证页面,在取得单点登录令牌SSOTOKEN、子应用***独立的第一令牌信息TOKEN及验证地址及回调参数输出对象后,将单点登录令牌SSOTOKEN存储在本单点登录一站式管理***名下,同时携带智慧水务子应用***独立的第一令牌信息TOKEN跳转智慧水务子应用***请求导向验证地址。智慧水务子应用***采用TOKEN鉴权方式,导向验证地址中包含智慧水务子应用***可识别的第一令牌信息TOKEN;智慧水务子应用***根据第一令牌信息TOKEN与本子应用***服务器进行鉴权核对处理。鉴权核对成功后,即完成了智慧水务子应用***的单点登录及授权过程。
如果子应用***为工业智能化集群子应用***,单点登录一站式管理***认证鉴权页面请求认证服务中心,携带请求的标示工业智能化集群子应用***信息来源的***标识SYSCODE,取得工业智能化集群子应用***的登录账号信息,即会话信息,及工业智能化集群子应用***请求导向验证地址及参数。单点登录一站式管理***认证鉴权页面根据认证服务中心返回的工业智能化集群子应用***的验证地址,自动跳转工业智能化集群子应用***的验证地址。工业智能化集群子应用***,采用SESSION鉴权方式,则验证地址中包含工业智能化集群子应用***的登录账号、密码信息;工业智能化集群子应用***根据独立部署的登录验证插件,与本子应用***服务器进行鉴权核对处理。鉴权核对成功后,即完成了工业智能化集群子应用***的单点登录及授权过程。
如果子应用***为移动子应用***,CRM子应用APP***携带单点登录一站式管理***颁发的单点登录令牌SSOTOKEN,请求支撑APP服务的服务网关Gateway的网关接口,接口地址携带所述子应用***的***标识SYSCODE。服务网关Gateway实现对单点登录令牌SSOTOKEN进行核对校验,通过后服务网关Gateway包装指定***标识SYSCODE对应的子应用***的第二令牌信息TOKEN,根据事先约定的服务配置信息config转发真实CRM子应用APP***服务器接口。CRM子应用APP***服务器接口核对服务网关Gateway传输过来的第二令牌信息TOKEN,输出请求所需结果数据,结果数据通过服务网关Gateway的网关接口,输出CRM子应用APP。CRM子应用APP***鉴权核对成功后,即完成了CRM子应用APP***的单点登录及授权过程。
本发明实施例的分布式单点登录实现方法集成包含一种JWT(Json Web Token)单点认证技术方案及一种Session单点认证技术方案及一种移动应用APP单点认证技术方案于一体,提供一种单点登录子应用***插件及登录方法,该插件为静态HTML文件,经过简单配置,即可放置在需要接入的单点登录一站式管理***,无需修改子应用***源代码即可完成单点登录的实施,较优地解决了现有单点登录技术中存在的无法同时支持Token认证、Session认证和移动应用认证的单点登录问题。
本发明实施例的分布式单点登录实现***的另一分布式单点登录实现方法如图4所示,包括:
步骤S401:用户请求登录单点登录一站式管理***认证页面,并提交认证服务中心颁发的账号信息至认证服务中心进行核对较验,并接收认证服务中心核对成功后颁发的单点登录令牌SSOTOKEN。
单点登录一站式管理***包含数据字典、账号绑定及日志审计管理***、单点登录认证服务中间件及Ocelot服务网关。用户请求单点登录一站式管理***认证,单点登录一站式管理***自动导向认证服务中间件***(认证服务中心),提交认证服务中心事先颁发的登录账号信息,账号信息可以是用户登录账号/手机号码+密码+动态验证码组成。例如,用户直接请求单点登录一站式管理***认证服务中间件***,该用户尚未进行所述单点登录一站式管理***认证,亦未进行其他子应用***认证。该用户输入认证服务中心颁发的登录账号zhangsan,密码123456,动态验证码P0C6,提交认证服务中间件***进行核对校验。认证服务中间件***后台对密码进行MD5加密码后,核对用户提交的账号、加密密码是否与事先颁发和预设存储在数据库中的账号、加密密码一致,如核对校验一致,即认证通过。认证服务中间件***将用户标识(UserID)、过期时间(ExpirationTime)、权限集合(Claims)通过非对称加密算法生成单点登录令牌SSOTOKEN输出给该用户。
步骤S402:用户取得认证服务中间件***颁发的单点登录令牌SSOTOKEN,携带该单点登录令牌SSOTOKEN请求某子应用***,子应用***按照事先约定导向地址,携带参数导向认证服务中心认证鉴权地址,进行认证。
具体地,用户取得认证服务中间件***(认证服务中心)颁发的单点登录令牌SSOTOKEN后,携带该单点登录令牌SSOTOKEN请求智慧水务远程抄表平台。为了安全起见,单点登录令牌SSOTOKEN在请求头Head中携带,Authorization Type采用主流的BreaerToken,协议格式采用JWT(Json Web Token),不采用URL传递。进一步地,智慧水务远程抄表平台认证页面检测到没有本子应用***的第一令牌信息TOKEN,则携带本智慧水务远程抄表平台表示***标识SYSCODE=001和回调地址导向认证服务中心,进行认证。
步骤S403:认证服务中心检测到该用户已经携带了认证服务中心颁发的单点登录令牌SSOTOKEN,认证服务中心根据单点登录令牌SSOTOKEN及子应用***标识SYSCODE换取子应用***的鉴权凭证,并导向子应用***认证成功核对验证地址。
认证服务中心检测到该用户已经携带了认证服务中心颁发的单点登录令牌SSOTOKEN,并且该单点登录令牌SSOTOKEN在有效期内。例如,认证服务中心检测到该用户携带了单点登录令牌SSOTOKEN,单点登录认证服务中心根据单点登录令牌SSOTOKEN和子应用***标识SYSCODE=001,前往数据服务中心取得对应子应用***标识SYSCODE=001的子应用***预设的相关参数,如***标识编号(001)、***标识名称(智慧水务远程抄表平台)、***登录账号(zhangsan),***登录已加密密码(yXVUkR45PFz0UfpbDB8/ew==)、***认证鉴权方式(JWT鉴权方式)、***图标(meter-3-read)、图标色块(#ffc069)、检验导向地址、子应用***颁发TOKEN接口、登录导向地址等。认证服务中心根据已取得的子应用***登录账号、加密密码后端请求子应用***颁发TOKEN接口,取得该智慧水务远程抄表平台子应用***颁发的第一令牌信息TOKEN;进一步地,将已取得智慧水务远程抄表平台子应用***颁发的第一令牌信息TOKEN和已取得检验凭据导向地址组合成智慧水务远程抄表平台认证成功后验证地址进行输出跳转。
步骤S404:子应用***验证地址页面根据携带的鉴权凭证和***标识进行服务器核对校验,校验成功后即完成单点登录。
具体地,在子应用***验证地址页面根据携带的鉴权凭证和***标识进行服务器核对校验,输出并跳转子应用***首页面,即完成单点登录。
在本发明实施例中,分布式单点登录实现***为事先约定子应用***进行数据字典配置如图5所示,包括:
步骤S501:用户登录单点登录一站式管理***,请求新增/编辑子应用***参数配置以形成子应用***数据字典。
具体地,如果用户增加子应用***认证鉴权方式为JWT方式,则按照后续步骤S503进行;如果用户增加子应用***认证鉴权方式为SESSION或其他方式,则按照步骤S502进行。
步骤S502:用户新增子应用***参数配置以非JWT方式进行认证鉴权。
用户新增子应用***参数配置,具体的,用户新增子应用***参数配置以非JWT方式进行认证鉴权。更具体地,以用户新增工业智能化集群子应用***——SIM卡物联网***的参数配置为例,用户输入子应用***编号:P003,用于作为***唯一标识编号;子应用***名称:SIM卡物联网***,用于方便管理子应用***;认证鉴权方式:SESSION方式,用于确定该子应用***的单点登录认证鉴权方式是JWT方式或SESSION方式;图标:sim-card-2-fill,用于单点登录一站式管理***首页呈现子应用***图标;图标背景色块:#1890FF,用于单点登录一站式管理***首页呈现子应用***图标的前景色和背景色;检验凭据导向地址用于单点登录认证服务中心认证通过后,补充完成参数后,跳转子应用***导向地址,该检验凭据导向地址相当于前面的单点登录一站式管理***认证鉴权页面;登录导向地址用于单点登录一站式管理***首页呈现点击子应用***图标时,跳转子应用***导向地址,该登录导向地址即为前面的验证地址。
当用户在已经经过单点登录一站式管理***认证授权后,点击首页SIM卡物联网***呈现图标时,导向登录导向地址,SIM卡物联网***检测该用户没有进行本SIM卡物联网***认证授权,根据组装参数跳转SIM卡物联网***检验凭据导向地址,SIM卡物联网***检验凭据导向地址根据接收到的账号(account)、加密后的密码(pwd)及来源(source)和时间戳(time),判定该地址是否在有效期内,且依据该数个参数自动登录SIM卡物联网***认证接口,认证成功后即完成单点登录。
步骤S503:用户新增子应用***参数配置以JWT方式进行认证鉴权。
用户新增子应用***参数配置,具体地,用户新增子应用***参数配置以JWT方式进行认证鉴权。更具体地,以用户新增智慧水务子应用***——远程抄表平台的参数配置为例,用户输入子应用***编号:001,用于作为***唯一标识编号;子应用***名称:智慧水务远程抄表平台,用于方便管理子应用***;认证鉴权方式:JWT方式,用于确定该子应用***的单点登录认证鉴权方式是JWT方式或SESSION方式;图标:meter-3-read,用于所述单点登录一站式管理***首页呈现子应用***图标;图标背景色块:#ffc069,用于所述单点登录一站式管理***首页呈现子应用***图标的前景色和背景色;检验凭据导向地址:用于单点登录认证服务中心认证通过后,补充完成参数后,跳转子应用***导向地址;子应用***颁发TOKEN接口:用于通过单点登录认证服务中心后台获取智慧水务远程抄表平台颁发鉴权凭证TOKEN;登录导向地址用于单点登录一站式管理***首页呈现点击子应用***图标时,跳转子应用***导向地址。具体的与步骤S502的操作基本一致,步骤S503存在区别在于单点登录认证服务中心即通过智慧水务远程抄表平台颁发TOKEN接口取得该智慧水务远程抄表平台颁发的鉴权凭证TOKEN,且区别还在于导向所述智慧水务远程抄表平台检验凭据导向地址携带参数不同,步骤S503仅需携带该智慧水务远程抄表平台颁发的鉴权凭证TOKEN、source及时间戳(time)。智慧水务远程抄表平台检验凭据导向地址根据接收到的TOKEN、source和时间戳time,判定该地址是否在有效期内,且检测该TOKEN是否由智慧水务远程抄表平台颁发,认证成功后即完成单点登录。
步骤S504:用户提交新增子应用***的参数配置后,单点登录一站式管理***响应输出配置参数成功提示,即完成一个子应用***在数据字典中的参数配置。
在本发明实施例中,分布式单点登录实现***为事先约定子应用***进行账号绑定的过程如图6所示,包括:
步骤S601:用户登录单点登录一站式管理***,请求绑定子应用***账号信息。
例如,用户登录单点登录一站式管理***,选择绑定智慧水务远程抄表平台子应用***。
步骤S602:用户选择需绑定的子应用***,自动关联子应用***对应的***参数;用户输入登录账号和密码,密码输入后以加密方式存储在服务器数据库;提交认证服务中心进行测试认证。
例如,用户选择绑定智慧水务远程抄表平台子应用***。用户选择需绑定的子应用***——智慧水务远程抄表平台,自动关联所选择智慧水务子应用***的相关***参数,如***标识(001)、***名称(智慧水务远程抄表平台)、***认证鉴权方式(JWT鉴权方式)、***图标(meter-3-read)、图标色块(#ffc069)、检验凭据导向地址、子应用***颁发TOKEN接口、登录导向地址等。用户输入登录账号(zhangsan),***登录已加密密码,提交认证服务中心进行测试认证。
步骤S603:认证服务中心根据提交的所选择的子应用***标识及账号密码信息,与服务器数据库预设的认证账号、加密密码是否一致,如检测一致,则响应输出测试登录认证成功,如果检测不一致,则响应输出测试登录认证失败,提示为“账号或密码不正确”。如果测试登录认证成功后,提交即完成所述智慧水务远程抄表平台子应用***账号绑定操作。
具体地,认证服务中心根据提交的所选择的子应用***标识(001)及账号(zhangsan)密码(123456)信息(其中认证服务中心根据提交的所选择的子应用***密码(123456)通过非对称加密算法计算的加密密码与服务器数据库预设的对应子应用***标识(001)相应的子应用***认证账号(zhangsan)、加密密码是否一致;如果子应用***检测账号、加密密码一致,则响应输出测试登录认证成功。
进一步地,单点登录一站式管理***存储该用户提交的子应用***标识、账号、加密密码信息成功,即完成该智慧水务远程抄表平台的子账号信息绑定。
在本发明实施例中,分布式单点登录实现***的认证鉴权方式为JWT的智慧水务子应用***单点登录业务流程如图7所示,包括:
步骤S701:用户请求登录智慧水务某子应用***,子应用***认证鉴权中心核定没有认证,则携带子应用***标识SYSCODE导向单点登录一站式管理***认证服务中心页面。
具体地,用户请求登录智慧水务远程抄表平台子应用***,智慧水务远程抄表平台子应用***认证鉴权中心核定该用户没有认证,则携带子应用***标识001导向单点登录一站式管理***认证服务中心页面。
步骤S702:用户在单点登录一站式管理***认证服务中心认证页面提交账号信息至单点登录认证服务中心进行核对校验。
具体地,用户在步骤S701导向的单点登录认证服务中心地址输入账号信息,如账号(18773187585),密码(123456),提交单点登录认证服务中心进行核对校验。
步骤S703:认证服务中心核对校验用户提交的认证服务中心颁发的账号信息成功后,生成单点登录令牌SSOTOKEN,并将单点登录令牌SSOTOKEN颁发给客户端。
具体地,认证服务中心接收到用户提交的账号(18773187585)和密码(123456),首先将密码进行非对称算法加密取得密文,将账号(18773187585)与加密密文与在所述单点登录认证服务中心预设的用户账号与加密密文的一致性进行核对;核对一致,则表示本次认证单点登录一站式管理***成功。认证服务中心将用户标识(UserID)、过期时间(ExpirationTime)、权限集合(Claims)通过非对称加密算法生成单点登录令牌SSOTOKEN颁发输出给客户端。
步骤S704:单点登录一站式管理***认证页面,取得认证服务中心颁发的单点登录令牌SSOTOKEN并存储,并依据智慧水务子应用***携带的***标识SYSCODE,向认证服务中心申请换取该智慧水务子应用***颁发的第一令牌信息TOKEN及子应用***认证成功后的验证地址。
具体地,在单点登录一站式管理***页面,客户端取得认证服务中心认证成功后颁发的单点登录令牌SSOTOKEN并存储,并携带智慧水务远程抄表平台子应用***标识(001),向认证服务中心申请换取该智慧水务子应用***颁发的第一令牌信息TOKEN及子应用***认证成功后的验证地址。更具体地,采用HTTP通讯协议,POST请求方法,将认证服务中心颁发的单点登录令牌SSOTOKEN放置在Head中,携带智慧水务远程抄表平台子应用***标识001,向认证服务中心请求换取该智慧水务子应用***颁发的第一令牌信息TOKEN及子应用***认证成功后的验证地址。
步骤S705:认证服务中心获取事先绑定的智慧水务子应用***加密子账号信息,并向子应用***认证接口取得本子应用***颁发的第一令牌信息TOKEN及子应用***认证成功后的验证地址,并输出至客户端。
具体地,认证服务中心根据携带的智慧水务远程抄表平台子应用***标识(001)从服务器数据库中获取事先绑定的智慧水务远程抄表平台子应用***加密子账号信息及智慧水务远程抄表平台子应用***颁发的TOKEN接口地址,采用HTTP通讯协议,POST请求方法,将智慧水务远程抄表平台子应用***预先绑定的账号(zhangsan)和加密密码封装为JSON格式数据,向智慧水务远程抄表平台子应用***颁发的TOKEN接口地址请求认证并颁发本智慧水务远程抄表平台子应用***的第一令牌信息TOKEN。
更进一步地,认证服务中心携带封装好的账号密码JSON格式数据,通过POST方式,向智慧水务远程抄表平台子应用***颁发的TOKEN接口地址发起HTTP请求,该智慧水务远程抄表平台子应用***颁发的TOKEN接口将对请求账号密码进行认证核定,认证通过后,颁发本智慧水务远程抄表平台子应用***的第一令牌信息TOKEN;且响应输出本智慧水务远程抄表平台子应用***认证成功后的验证地址。
步骤S706:单点登录一站式管理***认证页面,接收到认证服务中心输出的智慧水务子应用***颁发的第一令牌信息TOKEN和认证成功后的验证地址,按照事先约定的参数格式组装跳转到子应用***认证成功后的验证地址。
具体地,单点登录一站式管理***认证页面接收到认证服务中心输出的智慧水务远程抄表平台***颁发的第一令牌信息TOKEN及认证成功后的验证地址,按照事先约定的参数格式组装跳转到智慧水务远程抄表平台***子应用***认证成功后的验证地址。
步骤S707:智慧水务子应用***认证成功后的验证地址,接收到第一令牌信息TOKEN、SOURCE及时间戳参数后,进行时间有效性核对和第一令牌信息TOKEN校验,核对成功即完成智慧水务子应用***单点登录功能。
具体地,智慧水务远程抄表平台认证成功导向地址,接收到所述智慧水务远程抄表平台颁发的第一令牌信息TOKEN、SOURCE(单点登录SSO)及时间戳DATE(175698475),智慧水务远程抄表平台认证接口优先对时间戳DATE进行有效性校验,如检验时间戳在有效性时间范围内时,继续对第一令牌信息TOKEN进行检验,仅当时间戳DATE有效性和第一令牌信息TOKEN有效性核对检定通过时,才表明该智慧水务远程抄表平台认证成功,进入该智慧水务远程抄表平台***,即完成本次智慧水务远程抄表平台单点登录。
在本发明实施例中,分布式单点登录实现***的认证鉴权方式为SESSION的工业智能化集群子应用***单点登录业务流程如图8所示,包括:
步骤S801:用户请求登录工业智能化集群子应用***,子应用***认证鉴权中心核定没有认证,则携带子应用***标识SYSCODE导向认证服务中心页面。
具体地,用户请求登录工业智能化集群SIM卡物联网***子应用***,工业智能化集群SIM卡物联网***子应用***认证鉴权中心核定该用户没有认证,则携带子应用***标识P003导向认证服务中心认证页面。
步骤S802:用户在认证服务中心认证页面,认证服务中心检测到该应用已颁发认证成功的单点登录令牌SSOTOKEN。
具体地,用户在步骤S801导向的认证服务中心认证页面地址,认证服务中心检测到该应用已颁发认证成功的单点登录令牌SSOTOKEN,认证服务中心检测SSOTOKEN核对有效,且解析出用户标识(UserID)、过期时间(ExpirationTime)及权限集合(Claims)均为有效数据,表明该单点登录令牌SSOTOKEN有效且可用。
步骤S803:认证服务中心从数据存储中心取得携带工业智能化集群***子应用***标识SYSCODE的传话信息SESSION及认证成功核对校验的验证地址,并按照约定规则组装工业智能化子应用***账号加密信息输出并跳转至验证地址。
具体地,认证服务中心从服务器数据库中,依据SYSCODE(P003)参数取得该SIM卡管理***事先已配置的参数,如认证鉴权方式(SESSION方式)、验证地址。
进一步地,认证服务中心从服务器数据库中,依据***标识SYSCODE(P003)及通过单点登录令牌SSOTOKEN解析取得的用户标识(UserID)获得本工业智能化集群SIM卡管理***子应用***对应的子账号信息(zhangsan)和MD5加密密码;进一步地,将子账号信息与SIM卡管理***检验凭据的验证地址组装输出。
步骤S804:工业智能化集群***子应用***认证成功后核对校验的验证地址接收子应用***账号及加密信息,独立插件动态实现自动登录认证并取得授权,即完成本子应用***单点登录成功。
具体地,工业智能化集群***子应用***SIM卡管理***,接收账号(zhangsan)、加密密码、SOURCE(sso)及TIME时间戳;优先地,先对时间戳TIME进行有效性判定,其次对账号及加密密码与本SIM卡管理***预设认证账号密码(加密存储)进行一致性验证。一致性验证通过,表示该工业智能化集群***子应用***SIM卡管理***认证成功,表明该工业智能化集群***子应用***SIM卡管理***单点登录成功。
在本发明实施例中,分布式单点登录实现***的移动子应用***单点登录业务流程如图9所示,包括:
步骤S901:用户请求登录信息化移动APP子应用***,APP子应用***认证鉴权中心核定没有认证,携带子应用***标识SYSCODE导向单点登录一站式管理APP***认证鉴权VIEW。
具体地,用户请求登录信息化移动APP子应用CRM***,APP子应用CRM***认证鉴权中心核定没有认证,携带子应用***标识SYSCODE(APP001)导向单点登录一站式管理APP***认证鉴权VIEW,该VIEW包含组件元素登录账号输入框、登录密码输入框、手机动态验证码输入框及登录提交按钮组件。
更具体地,用户在单点登录一站式管理APP***认证鉴权VIEW中账号输入框中输入账号(zhangsan)、登录密码输入框中输入密码(123456)、手机动态验证码输入框中输入手机动态验证码(702385),点击提交按钮组件提交账号信息至认证服务中心进行认证。
步骤S902:用户在登录所述单点登录一站式管理APP***认证鉴权VIEW提交账号信息,认证成功后,输出认证服务中心颁发授权成功的单点登录令牌SSOTOKEN。
具体地,用户在单点登录一站式管理APP***认证鉴权VIEW提交账号信息至认证服务中心,认证服务中心将提交的账号、密码与预先由认证服务中心颁发的账号密码(加密密码)进行一致性比较,如一致性验证成功,则将用户标识(UserID)、过期时间(ExpirationTime)、权限集合(Claims)通过非对称加密算法生成单点登录令牌SSOTOKEN颁发输出给客户端。
步骤S903:APP子应用***携带认证服务中心颁发的单点登录令牌SSOTOKEN,请求APP集群服务的服务网关接口,服务网关Gateway实现对单点登录令牌SSOTOKEN核对校验成功后,服务网关Gateway取得并包装子应用***所需要的第二令牌信息TOKEN,将请求信息转发实现约定配置的真实子应用***服务器接口。
具体地,APP子应用CRM***携带认证服务中心颁发的单点登录令牌SSOTOKEN,请求APP集群服务的服务网关接口,APP集群服务的服务网关Gateway优先对单点登录令牌SSOTOKEN进行有效性验证,验证通过后,依据单点登录令牌SSOTOKEN解析取得的用户标识(UserID)换取真实APP子应用CRM***颁发的第二令牌信息TOKEN,并响应输出到APP客户端。
步骤S904:移动APP子应用***服务器接口核对服务网关Gateway传输过来的第二令牌信息TOKEN成功,处理业务,输出数据,即完成了APP子应用CRM***的单点登录。
具体地,移动APP子应用CRM***服务器接口核对服务网关Gateway传输过来的第二令牌信息TOKEN信息,有效性验证通过,即表示该第二令牌信息TOKEN属于移动APP子应用CRM***接口颁发,继续处理业务,输出数据,即完成了APP子应用CRM***的单点登录。
本发明实施例的分布式单点登录实现方法通过接收来自子应用***的认证请求,所述认证请求包括子应用***的***标识及用户信息,其中所述子应用***为智慧水务子应用***、工业智能化集群子应用***、移动子应用***的其中之一;在单点登录一站式管理***认证鉴权页面根据所述用户信息进行鉴权认证,获取单点登录令牌;根据所述***标识和所述单点登录令牌获取验证信息,并根据所述验证信息进行验证,完成单点登录,能够同时支持令牌认证、会话认证和移动应用认证的单点登录。
上述对本发明特定实施例进行了描述。在一些情况下,在本发明实施例中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
基于同一个构思,本发明实施例还提供了一种分布式单点登录实现方法,应用于子应用***。如图10所示,分布式单点登录实现方法包括:
步骤S1001:响应用户的登录请求,并向单点登录一站式管理***发送认证请求,所述认证请求包括子应用***的***标识及用户信息,其中所述子应用***为智慧水务子应用***、工业智能化集群子应用***、移动子应用***的其中之一。
用户请示登录任一子应用***时,子应用***接收并响应用户的登录请求,向单点登录一站式管理***发送认证请求。
步骤S1002:控制跳转至单点登录一站式管理***认证鉴权页面以对所述用户信息进行鉴权认证,并接收在鉴权认证通过后获取的所述子应用***的验证信息。
具体地,如果所述子应用***为智慧水务子应用***,则控制跳转至单点登录一站式管理***认证鉴权页面,通过Ocelot服务网关进行鉴权认证,并在鉴权认证通过后接收认证服务中心反馈的所述智慧水务子应用***的第一令牌信息和验证地址。如果Ocelot服务网关检测已认证并取得授权,直接返回智慧水务子应用***的第一令牌信息和验证地址。如果Ocelot服务网关检测未认证,则导向认证服务中心,要求用户提交认证服务中心事先颁发的用户账号信息,并接收认证服务中心核对校验用户提交的账号信息后反馈的将用户标识(UserID)、过期时间(ExpirationTime)、权限集合(Claims)通过非对称加密算法生成的单点登录令牌SSOTOKEN,并携带子应用***事先约定的第一令牌信息和验证地址。
如果所述子应用***为工业智能化集群子应用***,则控制跳转至单点登录一站式管理***认证鉴权页面,通过所述Ocelot服务网关进行鉴权认证,并在鉴权认证通过后接收认证服务中心反馈的所述工业智能化集群子应用***的会话信息和验证地址。
如果所述子应用***为移动子应用***,则控制跳转至单点登录一站式管理***认证鉴权页面进行鉴权认证,获取单点登录一站式管理***颁发的单点登录令牌,并通过网关移动应用集群服务的服务网关Gateway对所述单点登录令牌进行验证,接收验证通过后获取的与所述***标识对应的所述移动子应用***的第二令牌信息。
步骤S1003:根据所述验证信息和所述***标识进行验证,完成单点登录。
如果所述子应用***为智慧水务子应用***,则导向验证地址,根据第一令牌信息和***标识进行鉴权核对处理,鉴权核对成功后,即完成了智慧水务子应用***的单点登录及授权过程。
如果所述子应用***为工业智能化集群子应用***,则导向验证地址,根据会话信息和***标识进行鉴权核对处理。具体验证地址中包含工业智能化集群子应用***的登录账号、密码信息,工业智能化集群子应用***根据独立部署的登录验证插件,与本子应用***服务器进行鉴权核对处理,工业智能化集群子应用***鉴权核对成功后,即完成了工业智能化集群子应用***的单点登录及授权过程。
如果所述子应用***为移动子应用***,则CRM子应用APP***服务器接口对服务网关Gateway传输的第二令牌信息进行核对验证,并将结果数据服务网关Gateway输出CRM子应用APP,CRM子应用APP***,鉴权核对成功后,即完成了CRM子应用APP***的单点登录及授权过程。
在本发明实施例中,智慧水务子应用***、工业智能化集群子应用***以及移动子应用***可以分别应用不同的认证方式完成单点登录。
基于同一个构思,本发明实施例还提供了一种分布式单点登录实现装置。应用于的单点登录一站式管理***。附图11所示,分布式单点登录实现装置包括:请求接收单元、第一鉴权认证单元以及第一单点登录单元。其中,
请求接收单元,用于接收来自子应用***的认证请求,所述认证请求包括子应用***的***标识及用户信息,其中所述子应用***为智慧水务子应用***、工业智能化集群子应用***、移动子应用***的其中之一;
第一鉴权认证单元,用于在单点登录一站式管理***认证鉴权页面根据所述用户信息进行鉴权认证,获取单点登录令牌;
第一单点登录单元,用于根据所述***标识和所述单点登录令牌获取验证信息,并根据所述验证信息进行验证,完成单点登录。
为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本发明实施例时可以把各模块的功能在同一个或多个软件和/或硬件中实现。
上述实施例的装置应用于前述实施例中相应的方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
基于同一个构思,本发明实施例还提供了一种分布式单点登录实现装置。应用于的子应用***。附图12所示,分布式单点登录实现装置包括:请求发送单元、第二鉴权认证单元以及第二单点登录单元。其中,
请求发送单元,用于响应用户的登录请求,并向单点登录一站式管理***发送认证请求,所述认证请求包括子应用***的***标识及用户信息,其中所述子应用***为智慧水务子应用***、工业智能化集群子应用***、移动子应用***的其中之一;
第二鉴权认证单元,用于控制跳转至单点登录一站式管理***认证鉴权页面以对所述用户信息进行鉴权认证,并接收在鉴权认证通过后获取的所述子应用***的验证信息;
第二单点登录单元,用于根据所述验证信息和所述***标识进行验证,完成单点登录。
基于同一发明构思,本发明实施例还提供了一种电子设备,该电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上任意一实施例所述的方法。
本发明实施例提供了一种非易失性计算机存储介质,所述计算机存储介质存储有至少一可执行指令,该计算机可执行指令可执行如上任意一实施例中所述的方法。
图13示出了本实施例所提供的一种更为具体的电子设备硬件结构示意图,该设备可以包括:处理器1301、存储器1302、输入/输出接口1303、通信接口1304和总线1305。其中处理器1301、存储器1302、输入/输出接口1303和通信接口1304通过总线1305实现彼此之间在设备内部的通信连接。
处理器1301可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本发明方法实施例所提供的技术方案。
存储器1302可以采用ROM(Read Only Memory,只读存储器)、RAM(RandomAccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器1302可以存储操作***和其他应用程序,在通过软件或者固件来实现本发明方法实施例所提供的技术方案时,相关的程序代码保存在存储器1302中,并由处理器1301来调用执行。
输入/输出接口1303用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
通信接口1304用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
总线1305包括一通路,在设备的各个组件(例如处理器1301、存储器1302、输入/输出接口1303和通信接口1304)之间传输信息。
需要说明的是,尽管上述设备仅示出了处理器1301、存储器1302、输入/输出接口1303、通信接口1304以及总线1305,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本发明实施例方案所必需的组件,而不必包含图中所示的全部组件。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本申请的范围被限于这些例子;在本申请的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本申请的不同方面的许多其它变化,为了简明它们没有在细节中提供。
本申请旨在涵盖落入本发明实施例的宽泛范围之内的所有这样的替换、修改和变型。因此,凡在本发明实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种分布式单点登录实现方法,其特征是,所述方法包括:
接收来自子应用***的认证请求,所述认证请求包括子应用***的***标识及用户信息,其中所述子应用***为智慧水务子应用***、工业智能化集群子应用***、移动子应用***的其中之一;
在单点登录一站式管理***认证鉴权页面根据所述用户信息进行鉴权认证,获取单点登录令牌;
根据所述***标识和所述单点登录令牌获取验证信息,并根据所述验证信息进行验证,完成单点登录。
2.如权利要求1所述的方法,其特征是,所述在单点登录一站式管理***认证鉴权页面根据所述用户信息进行鉴权认证,获取单点登录令牌,包括:
在所述单点登录一站式管理***认证鉴权页面,如果根据所述用户信息检测到用户取得所述单点登录一站式管理***的认证鉴权,则获得存储的所述单点登录令牌;
如果根据所述用户信息检测到用户未认证,则导向认证服务中心,通过所述认证服务中心对所述用户信息进行验证,并对用户标识、过期时间以及权限集合进行加密生成所述单点登录令牌。
3.如权利要求1所述的方法,其特征是,所述根据所述***标识和所述单点登录令牌获取验证信息,包括:
如果所述子应用***为智慧水务子应用***或工业智能化集群子应用***,则根据所述***标识和所述单点登录令牌从认证服务中心换取所述智慧水务子应用***的鉴权凭证和验证地址;
如果所述子应用***为移动子应用***,则请求移动应用集群服务的服务网关对所述单点登录令牌进行验证,验证通过后获取与所述***标识对应的所述移动子应用***的令牌。
4.如权利要求3所述的方法,其特征是,所述根据所述验证信息进行验证,完成单点登录,包括:
如果所述子应用***为智慧水务子应用***或工业智能化集群子应用***,则控制从单点登录一站式管理***认证页面回调至所述验证地址,以应用所述鉴权凭证对子应用***进行核对校验,核对成功即完成单点登录;
如果所述子应用***为移动子应用***,则将所述令牌转发至所述移动子应用***的服务器接口以核对验证所述令牌,核对成功即完成单点登录。
5.一种分布式单点登录实现方法,其特征是,所述方法包括:
响应用户的登录请求,并向单点登录一站式管理***发送认证请求,所述认证请求包括子应用***的***标识及用户信息,其中所述子应用***为智慧水务子应用***、工业智能化集群子应用***、移动子应用***的其中之一;
控制跳转至单点登录一站式管理***认证鉴权页面以对所述用户信息进行鉴权认证,并接收在鉴权认证通过后获取的所述子应用***的验证信息;
根据所述验证信息和所述***标识进行验证,完成单点登录。
6.如权利要求5所述的方法,其特征是,所述控制跳转至单点登录一站式管理***认证鉴权页面以对所述用户信息进行鉴权认证,并接收在鉴权认证通过后获取的所述子应用***的验证信息,包括:
如果所述子应用***为智慧水务子应用***,则控制跳转至单点登录一站式管理***认证鉴权页面,通过Ocelot服务网关进行鉴权认证,并在鉴权认证通过后接收认证服务中心反馈的所述智慧水务子应用***的第一令牌信息和验证地址;
如果所述子应用***为工业智能化集群子应用***,则控制跳转至单点登录一站式管理***认证鉴权页面,通过所述Ocelot服务网关进行鉴权认证,并在鉴权认证通过后接收认证服务中心反馈的所述工业智能化集群子应用***的会话信息和验证地址;
如果所述子应用***为移动子应用***,则控制跳转至单点登录一站式管理***认证鉴权页面进行鉴权认证,获取单点登录一站式管理***颁发的单点登录令牌,并通过网关移动应用集群服务的服务网关Gateway对所述单点登录令牌进行验证,接收验证通过后获取的与所述***标识对应的所述移动子应用***的第二令牌信息。
7.一种分布式单点登录实现装置,其特征是,所述装置包括:
请求接收单元,用于接收来自子应用***的认证请求,所述认证请求包括子应用***的***标识及用户信息,其中所述子应用***为智慧水务子应用***、工业智能化集群子应用***、移动子应用***的其中之一;
第一鉴权认证单元,用于在单点登录一站式管理***认证鉴权页面根据所述用户信息进行鉴权认证,获取单点登录令牌;
第一单点登录单元,用于根据所述***标识和所述单点登录令牌获取验证信息,并根据所述验证信息进行验证,完成单点登录。
8.一种分布式单点登录实现装置,其特征是,所述装置包括:
请求发送单元,用于响应用户的登录请求,并向单点登录一站式管理***发送认证请求,所述认证请求包括子应用***的***标识及用户信息,其中所述子应用***为智慧水务子应用***、工业智能化集群子应用***、移动子应用***的其中之一;
第二鉴权认证单元,用于控制跳转至单点登录一站式管理***认证鉴权页面以对所述用户信息进行鉴权认证,并接收在鉴权认证通过后获取的所述子应用***的验证信息;
第二单点登录单元,用于根据所述验证信息和所述***标识进行验证,完成单点登录。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征是,所述处理器执行所述程序时实现如权利要求1-6中任意一项所述的方法。
10.一种计算机存储介质,其特征是,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如权利要求1-6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210253833.3A CN114745156A (zh) | 2022-03-15 | 2022-03-15 | 分布式单点登录实现方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210253833.3A CN114745156A (zh) | 2022-03-15 | 2022-03-15 | 分布式单点登录实现方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114745156A true CN114745156A (zh) | 2022-07-12 |
Family
ID=82277888
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210253833.3A Pending CN114745156A (zh) | 2022-03-15 | 2022-03-15 | 分布式单点登录实现方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114745156A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115250204A (zh) * | 2022-09-22 | 2022-10-28 | 四川蜀天信息技术有限公司 | 一种集中处理登录鉴权的方法及*** |
CN115297019A (zh) * | 2022-08-03 | 2022-11-04 | 中国联合网络通信集团有限公司 | 物联网应用平台的管理方法、物联网***、设备及介质 |
-
2022
- 2022-03-15 CN CN202210253833.3A patent/CN114745156A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115297019A (zh) * | 2022-08-03 | 2022-11-04 | 中国联合网络通信集团有限公司 | 物联网应用平台的管理方法、物联网***、设备及介质 |
CN115250204A (zh) * | 2022-09-22 | 2022-10-28 | 四川蜀天信息技术有限公司 | 一种集中处理登录鉴权的方法及*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20240080311A1 (en) | Managing security credentials | |
US9864852B2 (en) | Approaches for providing multi-factor authentication credentials | |
US11134071B2 (en) | Data exchange during multi factor authentication | |
CN106856475B (zh) | 授权服务器以及认证协作*** | |
US10362026B2 (en) | Providing multi-factor authentication credentials via device notifications | |
US9887990B2 (en) | Protection of application passwords using a secure proxy | |
CN106716918B (zh) | 用户认证方法和*** | |
CN104065616A (zh) | 单点登录方法和*** | |
US9391998B2 (en) | Extended OAuth architecture supporting multiple types of consent based on multiple scopes and contextual information | |
CN105007280A (zh) | 一种应用登录方法和装置 | |
CN112491776B (zh) | 安全认证方法及相关设备 | |
CN108632291A (zh) | 一种第三方授权登录方法及*** | |
CN114745156A (zh) | 分布式单点登录实现方法、装置、电子设备及存储介质 | |
US20140298428A1 (en) | Method for allowing user access, client, server, and system | |
US10841297B2 (en) | Providing multi-factor authentication credentials via device notifications | |
CN113938886B (zh) | 身份认证平台测试方法、装置、设备及存储介质 | |
US11004054B2 (en) | Updating account data for multiple account providers | |
CN112583834B (zh) | 一种通过网关单点登录的方法和装置 | |
CN105162775A (zh) | 虚拟机登陆方法及装置 | |
CN112434818A (zh) | 模型构建方法、装置、介质及电子设备 | |
CN101771993A (zh) | 基于移动网络实现聚合应用的***及其方法 | |
JP2020035079A (ja) | システム、及びデータ処理方法 | |
CN105162774A (zh) | 虚拟机登陆方法、用于终端的虚拟机登陆方法及装置 | |
CN116170234B (zh) | 一种基于虚拟账号认证的单点登录方法和*** | |
CN111241523B (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 |