一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种CS客户端登录方法及装置与流程

2022-04-13 15:22:43 来源:中国专利 TAG:

一种cs客户端登录方法及装置
技术领域
1.本发明涉及信息安全领域,尤其涉及一种cs客户端登录方法、装置、设备、介质和产品。


背景技术:

2.随着互联网的发展,各种应用越来越多,到处需要用户登录,信息安全成为了不可回避的问题。应用需要更方便的获取用户,用户需要更好的登录体验,信息需要更安全的保障,为了满足这些需求,互联网技术不断推陈出新,从通信安全,到各种协议框架,都有无数的解决方案。
3.其中oauth开放授权标准是最受欢迎的一个,一经推出就得到各大互联网公司的积极响应,2010年推出的oauth2.0不但修补了oauth1.0的安全漏洞,而且简化了授权流程,得到更广泛的应用,成为目前主流的单点登录解决方案。
4.由于oauth2.0最常用的授权码模式需要通过浏览器跳转来传递用户授权code(或称用户授权码),因此目前只适用于浏览器和服务器(browser-server,简称bs)架构的web应用。而对于客户机和服务器(client-server,简称cs)架构的应用只能使用最不推荐的密码模式。


技术实现要素:

5.针对现有技术中的问题,本发明实施例提供一种cs客户端登录方法,解决了以往cs应用只能使用oauth2.0最不推荐的、也是最不安全的密码模式进行登录的问题。
6.具体地,本发明实施例提供了以下技术方案:
7.第一方面,本发明实施例提供了一种cs客户端登录方法,应用于cs应用程序,包括:响应于接收到用户的登录请求,跳转到应用服务器提供的用于oauth认证的单点登录页面,所述单点登录页面是由浏览器显示的;接收浏览器发送的用户授权码,并向应用服务器发送所述用户授权码,所述应用服务器是所述cs应用程序的服务端,所述cs应用程序是所述应用服务器的客户端;接收所述应用服务器发出的用户信息,并显示登录成功。
8.进一步地,所述响应于接收到用户的登录请求之前,还包括:在操作系统中的资源标识列表注册对应所述cs应用程序的资源标识,所述资源标识用于在所述浏览器中打开所述cs应用程序。
9.第二方面,本发明实施例提供了一种cs客户端登录方法,应用于浏览器,包括:将应用服务器提供的用于oauth认证的单点登录页面重定向到oauth认证服务端的用户授权页面,所述用户授权页面的地址包括所述oauth认证服务端定义的对应所述应用服务器的id;接收所述oauth认证服务端发出的用户授权码,将所述用户授权码发送给所述cs应用程序。
10.进一步地,所述将所述用户授权码发送给所述cs应用程序,包括:通过资源标识,将所述用户授权码发送给所述cs应用程序,所述资源标识用于在所述浏览器中打开所述cs
应用程序。
11.第三方面,本发明实施例提供了一种cs客户端登录方法,应用于应用服务器,包括:接收cs应用程序发送的用户授权码,向所述oauth认证服务端发送申请令牌请求,所述申请令牌请求包括秘钥、所述用户授权码和所述应用服务器的id,所述秘钥是所述oauth认证服务端发出的用于对所述应用服务器进行身份验证的秘钥;接收所述oauth认证服务端发出的令牌,向oauth认证服务端发送所述令牌,所述令牌用于向所述oauth认证服务端申请对应所述令牌的资源,所述资源包括用户信息;接收所述oauth认证服务端发出的对应所述令牌的用户信息。
12.进一步地,所述接收cs应用程序发送的用户授权码之前,还包括:向oauth认证服务端发起注册请求,所述注册请求包括目标回调地址,所述目标回调地址为用于接收用户授权码的浏览器的地址;接收并存储所述oauth认证服务端发出的id和所述秘钥,其中所述id和所述密钥为所述oauth认证服务端与所述应用服务器完成对接后,由所述oauth认证服务端注册的对应所述应用服务器的id和密钥。
13.第四方面,本发明实施例提供了一种cs客户端登录方法,应用于oauth认证服务端,包括:响应于浏览器将应用服务器提供的用于oauth认证的单点登录页面重定向到oauth认证服务端的用户授权页面,根据所述用户授权页面的地址得到所述应用服务器的id,根据所述id查找数据库中的回调地址匹配,若查找成功,确定目标回调地址,向用户展示授权页面,所述目标回调地址是所述浏览器的地址;响应于接收到用户确认所述授权页面的登录信息,根据所述目标回调地址,向所述浏览器发送用户授权码;响应于接收到应用服务器发出申请令牌请求,所述申请令牌请求包括秘钥、所述id和所述用户授权码,查询与所述id对应的应用服务器,根据所述秘钥和id对所述应用服务器进行身份验证,根据所述用户授权码验证所述用户是否对所述应用服务器授权,验证成功后,,向所述应用服务器发送用户信息。
14.进一步地,所述响应于浏览器将应用服务器提供的用于oauth认证的单点登录页面重定向到oauth认证服务端的用户授权页面之前,还包括:接收应用服务器发出的注册请求,所述注册请求包括目标回调地址,保存所述目标回调地址,生成对应的所述应用服务器的id和秘钥,并向所述应用服务器发送所述id和秘钥。
15.第五方面,本发明实施例提供了一种cs客户端登录装置,应用于cs应用程序,包括:第一处理模块,用于响应于接收到用户的登录请求,跳转到应用服务器提供的用于oauth认证的单点登录页面,所述单点登录页面是由浏览器显示的;第二处理模块,用于接收浏览器发送的用户授权码,并向所述应用服务器发送所述用户授权码,所述应用服务器是所述cs应用程序的服务端,所述cs应用程序是所述应用服务器的客户端;第三处理模块,用于接收所述应用服务器发出的用户信息,并显示登录成功。
16.第六方面,本发明实施例提供了一种cs客户端登录装置,应用于浏览器,包括:第四处理模块,用于将应用服务器提供的用于oauth认证的单点登录页面重定向到oauth认证服务端的用户授权页面,所述用户授权页面的地址包括所述oauth认证服务端定义的对应所述应用服务器的id;第五处理模块,用于接收所述oauth认证服务端发出的用户授权码,将所述用户授权码发送给所述cs应用程序。
17.第七方面,本发明实施例提供了一种cs客户端登录装置,应用于应用服务器,包
括:第六处理模块,用于接收cs应用程序发送的用户授权码,向所述oauth认证服务端发送申请令牌请求,所述申请令牌请求包括秘钥、所述用户授权码和所述应用服务器的id,所述秘钥是所述oauth认证服务端发出的用于对所述应用服务器进行身份验证的秘钥;第七处理模块,用于接收所述oauth认证服务端发出的令牌,向oauth认证服务端发送所述令牌,所述令牌用于向所述oauth认证服务端申请对应所述令牌的资源,所述资源包括用户信息;第八处理模块,用于接收所述oauth认证服务端发出的对应所述令牌的用户信息。
18.第八方面,本发明实施例提供了一种cs客户端登录装置,应用于oauth认证服务端,包括:第九处理模块,用于响应于浏览器将应用服务器提供的用于oauth认证的单点登录页面重定向到oauth认证服务端的用户授权页面,根据所述用户授权页面的地址得到所述应用服务器的id,根据所述id查找数据库中的回调地址,若查找成功,确定目标回调地址,向用户展示授权页面,所述目标回调地址是所述浏览器的地址;第十处理模块,用于响应于接收到用户确认所述授权页面的登录信息,根据所述目标回调地址,向所述浏览器发送用户授权码;第十一处理模块,用于响应于接收到应用服务器发出的申请令牌请求,所述申请令牌请求包括秘钥、所述id和所述用户授权码,查询与所述id对应的应用服务器,根据所述秘钥和id对所述应用服务器进行身份验证,根据所述用户授权码验证所述用户是否对所述应用服务器授权,验证成功后,向所述应用服务器发送令牌;第十二处理模块,用于响应于接收到应用服务器发出的所述令牌,向所述应用服务器发送用户信息。
19.第九方面,本发明实施例还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一方面所述cs客户端登录方法的步骤。
20.第十方面,本发明实施例还提供了一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一方面所述cs客户端登录方法的步骤。
21.第十一方面,本发明实施例还提供了一种计算机程序产品,其上存储有可执行指令,该指令被处理器执行时使处理器实现上述任一方面所述cs客户端登录方法的步骤。
22.本发明实施例提供的cs客户端登录方法,应用于cs应用程序,通过
23.响应于接收到用户的登录请求,跳转到应用服务器提供的用于oauth认证的单点登录页面,所述单点登录页面是由浏览器显示的;接收浏览器发送的用户授权码,并向所述应用服务器发送所述用户授权码,所述应用服务器是所述cs应用程序的服务端,所述cs应用程序是所述应用服务器的客户端;接收所述应用服务器发出的用户信息,并显示登录成功。可以看出,通过结合操作系统提供的资源标识列表,实现了cs应用程序与浏览器的通信,进而使cs架构的应用可以通过浏览器使用oauth2.0推荐的、也是最安全的授权码模式进行单点登录。解决了cs应用以往只能使用最不推荐的,也是最不安全的密码模式进行登录的问题。使用户在登录cs应用程序时不需要再提供自己的用户名和密码,减少了密码泄露的风险,提高了整个系统的安全性。
附图说明
24.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发
明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
25.图1为本发明cs客户端登录方法实施例流程图;
26.图2为本发明cs客户端登录方法的另一些实施例流程图;
27.图3为本发明cs客户端登录方法的又一些实施例流程图;
28.图4为本发明cs客户端登录方法的再一些实施例流程图;
29.图5-1为用户的登录页面的示意图;
30.图5-2为单点登陆页面向cs应用程序传递用户授权码应用场景的示意图;
31.图5-3为授权页面的示意图;
32.图5-4为本发明cs客户端登录方法的应用场景的示意图;
33.图6为本发明cs客户端登录装置实施例结构示意图;
34.图7为本发明cs客户端登录装置的另一些实施例结构示意图;
35.图8为本发明cs客户端登录装置的又一些实施例结构示意图;
36.图9为本发明cs客户端登录装置的再一些实施例结构示意图;
37.图10为本发明电子设备实体实施例结构示意图。
具体实施方式
38.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
39.图1为本发明cs客户端登录方法实施例流程图,应用于cs应用程序。如图1所示,本发明实施例的cs客户端登录方法包括:
40.s101,响应于接收到用户的登录请求,跳转到应用服务器提供的用于oauth认证的单点登录页面,单点登录页面是由浏览器显示的。
41.在一些实施例中,用户可以通过cs应用程序(也可以是pc端应用程序,也可用于移动端的应用程序)的登录按钮发送登录请求。单点登录(single sign on,简称为sso),是比较流行的企业业务整合解决方案之一。sso的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。单点登录页面由应用服务器提供。用户打开cs应用程序,选择oauth认证并点击登录按钮,如图5-1所示,cs应用通过默认浏览器打开应用服务器提供的单点登录页https://qaxzt.com/sso。
42.在一些可选的实现方式中,所述响应于接收到用户的登录请求之前,还包括:在操作系统中的资源标识列表注册对应cs应用程序的资源标识,资源标识用于在浏览器中打开cs应用程序。
43.资源标识,可以是统一资源标识符(uniform resource identifier,简称uri)是一个用于标识某一互联网资源名称的字符串。资源标识列表(或称uri schemes)为cs应用程序所在的操作系统提供的一种机制,它可以由应用程序注册资源标识(即uri),其他程序通过uri schemes中的资源标识来调用该应用程序。目前已经被windows、macos、linux、ios及android等主流操作系统支持。uri的格式可以表示为:scheme://[host][path][query],
其中host,path,query都是可选的。作为示例,在cs应用程序安装时,需要向操作系统注册自己特有的uri scheme,例如:qaxzt://,并且,cs应用将要登录的应用服务器需要完成和oauth统一认证服务的对接。
[0044]
oauth认证服务端,比如,oauth2.0,是开放授权协议,为用户资源的授权提供了一个安全的、开放而又简易的标准(rfc6749)。允许用户让第三方应用访问该用户在某一网站上存储的私密的资源(如照片,视频,联系人列表),而无需将用户名和密码提供给第三方应用。oauth允许用户提供一个令牌,而不是用户名和密码来访问他们存放在特定服务提供者的数据。
[0045]
oauth2.0标准定义了四种获得令牌的方式,各自适用于不同的场景:
[0046]
1、授权码模式(authorization code):应用登录时需要先申请一个授权码,然后再用该授权码获取令牌。这种模式是最常用的方式,安全性也最高,通过浏览器跳转传递用户授权code(或称用户授权码),适用于bs(browser-server)架构的web应用。
[0047]
2、客户端凭证模式(client credentials):适用于不需要用户授权的应用,即应用服务器直接请求令牌。这种方式给出的令牌,是针对应用的,而不是针对用户的,适用于消费api的服务器端服务。
[0048]
3、简化模式(implicit):适用于没有服务器的纯前端web应用,允许直接向前端web应用颁发令牌,没有授权码这个中间步骤。
[0049]
4、密码模式(password):如果用户高度信任某个应用,标准也允许用户把用户名和密码,直接提供给该应用去申请令牌。这是一种最不推荐的方式,主要用来作为遗留项目无法改造或者cs(client-server)架构的应用无法使用授权码模式升级为oauth2.0时的兼容方案。
[0050]
s102,接收浏览器发送的用户授权码,并向应用服务器发送用户授权码,应用服务器是cs应用程序的服务端,cs应用程序是应用服务器的客户端。
[0051]
在一些实施例中,用户授权码,可以理解为授权码模式中的授权码,cs应用程序通过浏览器获取用户授权码,再通过应用服务器获取对应用户授权码的资源,资源可以是用户信息也可以是图片、视频等。接收浏览器发送的用户授权码,即单点登录页面再通过应用程序注册的uri调用应用程序并传递用户授权码给cs应用程序,如图5-2所示。
[0052]
s103,接收应用服务器发出的用户信息,并显示登录成功。
[0053]
在一些实施例中,应用服务器发出的也可以是图片、视频等,应用服务器发出的信息是由oauth认证服务端发出的。
[0054]
作为示例,也可以在零信任客户端登录、安全套接层虚拟专用网络客户端登录(security socket layer virtual private network,简称sslvpn)的场景中使用。零信任网络访问(zero-trust network access,简称ztna)认为:不能信任出入网络的任何内容。应创建一种以数据为中心的全新边界,通过强身份验证技术保护数据,sslvpn为办公人员远程安全接入公司内网提供了便捷的通道。
[0055]
本发明实施例提供的cs客户端登录方法,应用于cs应用程序,通过响应于接收到用户的登录请求,跳转到应用服务器提供的用于oauth认证的单点登录页面,所述单点登录页面是由浏览器显示的;接收浏览器发送的用户授权码,并向所述应用服务器发送所述用户授权码,所述应用服务器是所述cs应用程序的服务端,所述cs应用程序是所述应用服务
器的客户端;接收所述应用服务器发出的用户信息,并显示登录成功。可以看出,通过结合操作系统提供的资源标识列表,实现了cs应用程序与浏览器的通信,进而使cs架构的应用可以通过浏览器使用oauth2.0推荐的、也是最安全的授权码模式进行单点登录。解决了cs应用以往只能使用最不推荐的,也是最不安全的密码模式进行登录的问题。使用户在登录cs应用程序时不需要再提供自己的用户名和密码,减少了密码泄露的风险,提高了整个系统的安全性。
[0056]
作为示例,本发明不但能从cs应用程序发起登录的完整流程,也可以扩展到使用web应用门户的场景,从浏览器发起cs应用程序登录。用户首先从浏览器登录web应用门户,在web应用门户中点击cs应用程序的图标,跳转到应用服务器提供的单点登录页面获取用户授权code,然后通过uri调用应用程序并完成cs应用程序的登录。
[0057]
图2为本发明cs客户端登录方法的另一些实施例流程图,应用于浏览器。如图2所示,本发明实施例的cs客户端登录方法包括:
[0058]
s201,将应用服务器提供的用于oauth认证的单点登录页面重定向到oauth认证服务端的用户授权页面,所述用户授权页面的地址包括所述oauth认证服务端定义的对应所述应用服务器的id。
[0059]
在一些实施例中,浏览器是cs应用程序完成与oauth认证的中间环节。作为示例,当用户点击cs应用程序的登录oauth认证按钮时,应用服务器提供的单点登录页面会携带oauth2.0的授权码模式规定的参数将用户重定向到oauth统一认证服务的授权页面。认证服务也可以是企业微信、钉钉等符合oauth标准规范的认证协议和开放式连接(openid connect,简称oidc)、集中式认证服务(central authentication service,cas)等通过浏览器跳转传递用户授权code的认证协议。
[0060]
s202,接收oauth认证服务端发出的用户授权码,将用户授权码发送给cs应用程序。
[0061]
在一些可选的实现方式中,可以接收oauth认证服务端发出的用户授权码,并通过资源标识,将用户授权码发送给cs应用程序,所述资源标识用于在所述浏览器中打开所述cs应用程序。
[0062]
仍以上述为例,接收oauth认证服务端发出的用户授权码,即用户授权后,oauth统一认证服务会重定向回应用服务器指定的回调地址(即浏览器的地址),并且携带用户授权code。将用户授权码发送给cs应用程序,即获取到用户授权code之后,单点登录页面再通过应用程序注册的uri调用cs应用程序并传递用户授权code给应用程序,例如:qaxzt://sso?code=xxxx。cs应用程序即可提交用户授权code到应用服务器完成登录。
[0063]
本发明实施例提供的cs客户端登录方法,应用于浏览器,通过将单点登录页面重定向到oauth认证服务端的用户授权页面,单点登陆页面与cs应用程序对应;接收oauth认证服务端发出的用户授权码,并将用户授权码发送给cs应用程序,实现了用户需要登录一次,就实现所有对接了同一个oauth认证服务的应用,只要有应用一个登录了,其他应用都不需要再登录,即之后每次应用服务器跳转到oauth之后,只有在oauth上登录过,都会颁发一个新的授权码,且不需要用户重复登录。
[0064]
图3为本发明cs客户端登录方法的又一些实施例的流程图,应用于应用服务器。如图3所示,本发明实施例的cs客户端登录方法包括:
[0065]
s301,接收cs应用程序发送的用户授权码,向oauth认证服务端发送申请令牌请求,所述申请令牌请求包括秘钥、用户授权码和id,所述秘钥是所述oauth认证服务端发出的用于对所述应用服务器进行身份验证的秘钥。
[0066]
在一些实施例中,接收cs应用程序发送的用户授权码,向oauth认证服务端发送申请令牌请求,所述申请令牌请求包括秘钥、用户授权码和id,密钥由oauth认证服务端定义和发出,向oauth认证服务端发送的用户授权码和id可以通过密钥加密后再发送,本发明对加密方式,密码类型不做限制。
[0067]
在一些可选的实现方式中,接收cs应用程序发送的用户授权码之前,还包括:向oauth认证服务端发起注册请求,注册请求包括目标回调地址,目标回调地址为用于接收用户授权码的浏览器的地址;接收并存储所述oauth认证服务端发出的id和所述秘钥,其中所述id和所述密钥为所述oauth认证服务端与所述应用服务器完成对接后,由所述oauth认证服务端注册的对应所述应用服务器的id和密钥。
[0068]
在一些实施例中,应用服务器可以事先与oauth认证服务端完成对接。对接完成后,oauth认证服务端会注册一个对应应用服务器的id和密钥,并将id和密钥发送给应用服务器,目标回调地址即传送用户授权码的路径(即浏览器的路径),id用于识别应用服务器。
[0069]
s302,接收oauth认证服务端发出的令牌,向oauth认证服务端发送令牌。
[0070]
在一些实施例中,令牌用于向oauth认证服务端申请对应令牌的资源,资源包括用户信息,也可以是视频、图像等其他资源。
[0071]
s303,接收oauth认证服务端发出的对应令牌的用户信息。
[0072]
在一些实施例中,用户信息包括用户名、用户id等。
[0073]
本发明实施例提供的cs客户端登录方法,应用于应用服务器,通过接收cs应用程序发送的用户授权码,向所述oauth认证服务端发送申请令牌请求,所述申请令牌请求包括秘钥、所述用户授权码和所述应用服务器的id,所述秘钥是所述oauth认证服务端发出的用于对所述应用服务器进行身份验证的秘钥;接收oauth认证服务端发出的令牌,向oauth认证服务端发送令牌,令牌用于向oauth认证服务端申请对应令牌的资源,资源包括用户信息;接收oauth认证服务端发出的对应令牌的用户信息。实现了cs应用程序与oauth认证服务端的交互。
[0074]
图4为本发明cs客户端登录方法的再一些实施例的流程图,应用于oauth认证服务端。如图4所示,本发明实施例的cs客户端登录方法包括:
[0075]
s401,响应于浏览器将应用服务器提供的用于oauth认证的单点登录页面重定向到oauth认证服务端的用户授权页面,根据用户授权页面的地址得到所述应用服务器的id,根据所述id查找数据库中的回调地址,若查找成功,确定目标回调地址,向用户展示授权页面,目标回调地址是浏览器的地址。
[0076]
在一些实施例中,作为示例,应用服务器提供的单点登录页面携带oauth2.0的授权码模式规定的参数将用户重定向到oauth统一认证服务的授权页面,如图5-3所示。
[0077]
在一些可选的实现方式中,响应于浏览器将应用服务器提供的用于oauth认证的单点登录页面重定向到oauth认证服务端的用户授权页面之前,还包括:接收应用服务器发出的注册请求,注册请求包括目标回调地址,保存目标回调地址,生成对应的应用服务器的id和秘钥,并向应用服务器发送id和秘钥。
[0078]
在一些实施例中,注册请求包括目标回调地址,保存目标回调地址后,还可以生成对应的应用服务器的id和密钥,密钥用于应用服务器与oauth认证服务端之间的通信信息加密。
[0079]
s402,响应于接收到用户确认所述授权页面的登录信息,根据目标回调地址,向浏览器发送用户授权码。
[0080]
仍以上述为例,用户授权码可以是经过密钥加密后的。
[0081]
s403,响应于接收到应用服务器发出的申请令牌请求,所述申请令牌请求包括秘钥、所述id和所述用户授权码,查询与所述id对应的应用服务器,根据所述秘钥和id对所述应用服务器进行身份验证,根据所述用户授权码验证所述用户是否对所述应用服务器授权,验证成功后,向应用服务器发送令牌。
[0082]
仍以上述为例,用户授权码和id可以是经过密钥加密后的,oauth认证服务端接收到应用服务器发出的经过密钥加密后的用户授权码和id,通过密钥解密后,查询与id对应的应用服务器,向应用服务器发送令牌,令牌也可以是经过加密后的。
[0083]
s404,响应于接收到应用服务器发出的令牌,向应用服务器发送用户信息。
[0084]
仍以上述为例,接收到应用服务器发出的令牌可以是经过密钥加密的,oauth认证服务端解密后,向应用服务器发送用户信息,令牌与用户信息对应。cs应该程序接收到用户授权码后,以后每次想获取oauth认证服务端时,可以将用户授权码发送给应用服务器,由应用服务器向oauth认证服务端获取令牌,进而获取对应的资源。
[0085]
本发明实施例提供的cs客户端登录方法,应用于oauth认证服务端,通过响应于浏览器将单点登录页面重定向到oauth认证服务端的用户授权页面,以及目标回调地址,使cs应用程序接入oauth认证服务端时不必再使用密码模式。
[0086]
作为示例,如图5-4所示的时序图,cs应用程序完成oauth认证的流程可以参考以下步骤:
[0087]
步骤1:应用服务器完成和oauth统一认证服务的对接。
[0088]
步骤2:cs应用程序在安装时向操作系统注册自己特有的url scheme,例如:qaxzt://。
[0089]
步骤3:用户打开cs应用程序,选择oauth认证并点击登录按钮,cs应用通过默认浏览器打开应用服务器提供的单点登录页面:https://qaxzt.com/sso。
[0090]
步骤4:应用服务器提供的单点登录页面携带oauth2.0的授权码模式规定的参数将用户重定向到oauth统一认证服务的授权页面。
[0091]
步骤5:用户授权后,oauth统一认证服务会重定向回应用服务器指定的回调地址,并且携带用户授权code。
[0092]
步骤6:获取到用户授权code之后,单点登录页面再通过应用程序注册的url scheme调用应用程序并传递用户授权code给应用程序,例如:qaxzt://sso?code=xxxx。
[0093]
步骤7:应用程序提交用户授权code到应用服务器完成登录。
[0094]
图6为本发明cs客户端登录装置实施例结构示意图,应用于cs应用程序。如图6所示,该cs客户端登录装置,包括:
[0095]
第一处理模块601,用于响应于接收到用户的登录请求,跳转到应用服务器提供的用于oauth认证的单点登录页面,所述单点登录页面是由浏览器显示的;
[0096]
第二处理模块602,用于接收浏览器发送的用户授权码,并向所述应用服务器发送所述用户授权码,所述应用服务器是所述cs应用程序的服务端,所述cs应用程序是所述应用服务器的客户端;
[0097]
第三处理模块603,用于接收应用服务器发出的用户信息,并显示登录成功。
[0098]
可选地,装置还包括:
[0099]
注册资源标识列表模块,用于在操作系统中的资源标识列表注册对应所述cs应用程序的资源标识,所述资源标识用于在所述浏览器中打开所述cs应用程序。
[0100]
图7为本发明cs客户端登录装置实施例结构示意图,应用于浏览器。如图7所示,该cs客户端登录装置,包括:
[0101]
第四处理模块701,用于将应用服务器提供的用于oauth认证的单点登录页面重定向到oauth认证服务端的用户授权页面,所述用户授权页面的地址包括所述oauth认证服务端定义的对应所述应用服务器的id;
[0102]
第五处理模块702,用于接收所述oauth认证服务端发出的用户授权码,将所述用户授权码发送给所述cs应用程序。
[0103]
可选地,第五处理模块702还用于:
[0104]
通过资源标识,将所述用户授权码发送给所述cs应用程序,所述资源标识用于在所述浏览器中打开所述cs应用程序。图8为本发明cs客户端登录装置实施例结构示意图,应用于应用服务器。如图8所示,该cs客户端登录装置,包括:
[0105]
第六处理模块801,用于接收cs应用程序发送的用户授权码,向所述oauth认证服务端发送申请令牌请求,所述申请令牌请求包括秘钥、所述用户授权码和所述应用服务器的id,所述秘钥是所述oauth认证服务端发出的用于对所述应用服务器进行身份验证的秘钥;
[0106]
第七处理模块802,用于接收oauth认证服务端发出的令牌,向oauth认证服务端发送令牌,令牌用于向oauth认证服务端申请对应令牌的资源,资源包括用户信息。
[0107]
第八处理模块803,用于接收oauth认证服务端发出的对应令牌的用户信息。
[0108]
可选地,装置还包括:
[0109]
第一注册模块,用于向oauth认证服务端发起注册请求,所述注册请求包括目标回调地址,所述目标回调地址为用于接收用户授权码的浏览器的地址;接收并存储所述oauth认证服务端发出的id和所述秘钥,其中所述id和所述密钥为所述oauth认证服务端与所述应用服务器完成对接后,由所述oauth认证服务端注册的对应所述应用服务器的id和密钥。
[0110]
图9为本发明cs客户端登录装置实施例结构示意图,应用于oauth认证服务端。如图9所示,该cs客户端登录装置,包括:
[0111]
第九处理模块901,用于响应于浏览器将应用服务器提供的用于oauth认证的单点登录页面重定向到oauth认证服务端的用户授权页面,根据所述用户授权页面的地址得到所述应用服务器的id,根据所述id查找数据库中的回调地址,若查找成功,确定目标回调地址,向用户展示授权页面,所述目标回调地址是所述浏览器的地址;
[0112]
第十处理模块902,用于响应于接收到用户确认所述授权页面的登录信息,根据目标回调地址,向浏览器发送用户授权码;
[0113]
第十一处理模块903,用于响应于接收到应用服务器发出的申请令牌请求,所述申
请令牌请求包括秘钥、所述id和所述用户授权码,查询与所述id对应的应用服务器,根据所述秘钥和id对所述应用服务器进行身份验证,根据所述用户授权码验证所述用户是否对所述应用服务器授权,验证成功后,向所述应用服务器发送令牌;
[0114]
第十二处理模块904,用于响应于接收到应用服务器发出的令牌,向应用服务器发送用户信息。
[0115]
可选地,装置还包括:
[0116]
第二注册模块,用于接收应用服务器发出的注册请求,注册请求包括目标回调地址,保存目标回调地址,生成对应的应用服务器的id和秘钥,并向应用服务器发送id和秘钥。
[0117]
举个例子如下:
[0118]
图10示例了一种电子设备的实体结构示意图,如图10示,该电子设备可以包括:处理器(processor)1001、通信接口(communications interface)1002、存储器(memory)1003和通信总线1004,其中,处理器1001,通信接口1002,存储器1003通过通信总线1004完成相互间的通信。处理器1001可以调用存储器1003中的逻辑指令,以执行如下方法:响应于接收到用户的登录请求,跳转到应用服务器提供的用于oauth认证的单点登录页面,所述单点登录页面是由浏览器显示的;接收浏览器发送的用户授权码,并向所述应用服务器发送所述用户授权码,所述应用服务器是所述cs应用程序的服务端,所述cs应用程序是所述应用服务器的客户端;接收所述应用服务器发出的用户信息,并显示登录成功。
[0119]
此外,上述的存储器1003中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0120]
另一方面,本发明实施例还提供一种计算机程序产品,计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,计算机程序包括程序指令,当程序指令被计算机执行时,计算机能够执行上述各实施例提供的cs客户端登录方法,例如包括:响应于接收到用户的登录请求,跳转到应用服务器提供的用于oauth认证的单点登录页面,所述单点登录页面是由浏览器显示的;接收浏览器发送的用户授权码,并向所述应用服务器发送所述用户授权码,所述应用服务器是所述cs应用程序的服务端,所述cs应用程序是所述应用服务器的客户端;接收所述应用服务器发出的用户信息,并显示登录成功。
[0121]
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的cs客户端登录方法,例如包括:响应于接收到用户的登录请求,跳转到应用服务器提供的用于oauth认证的单点登录页面,所述单点登录页面是由浏览器显示的;接收浏览器发送的用户授权码,并向所述应用服务器发送所述用户授权码,所述应用服务器是所述cs应用程序的服务端,所述cs应用程序是所述应用服务器的客户端;接收所述应用服务器发出的用户信息,并显示登录成功。
[0122]
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
[0123]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分的方法。
[0124]
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献