CN111193691A - 授权方法、系统和相关设备 - Google Patents

授权方法、系统和相关设备 Download PDF

Info

Publication number
CN111193691A
CN111193691A CN201811363084.XA CN201811363084A CN111193691A CN 111193691 A CN111193691 A CN 111193691A CN 201811363084 A CN201811363084 A CN 201811363084A CN 111193691 A CN111193691 A CN 111193691A
Authority
CN
China
Prior art keywords
authorization
code
authentication code
handshake
handshake authentication
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.)
Granted
Application number
CN201811363084.XA
Other languages
English (en)
Other versions
CN111193691B (zh
Inventor
王志玮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Telecom Corp Ltd
Original Assignee
China Telecom Corp Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by China Telecom Corp Ltd filed Critical China Telecom Corp Ltd
Priority to CN201811363084.XA priority Critical patent/CN111193691B/zh
Publication of CN111193691A publication Critical patent/CN111193691A/zh
Application granted granted Critical
Publication of CN111193691B publication Critical patent/CN111193691B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0807Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint

Abstract

本发明公开了一种授权方法、系统和相关设备,涉及信息安全技术领域。授权方法,包括:获取用户代理发送的握手验证码;获取第一授权请求,其中,第一授权请求中包括握手验证码;获取用户授权信息;响应于第一授权请求中的握手验证码与用户代理发送的握手验证码一致、以及用户授权信息通过验证,反馈授权码;获取第二授权请求,其中,第二授权请求中包括握手验证码和授权码;响应于第二授权请求中的握手验证码与用户代理发送的握手验证码一致、以及授权码通过验证,反馈访问令牌。本发明实施例的方法通过握手验证码的传递,识别真实有效的请求,可以降低中间人攻击的成功率,提高了第三方登录过程中的安全性。

Description

授权方法、系统和相关设备
技术领域
本发明涉及信息安全技术领域,特别涉及一种授权方法、系统和相关设备。
背景技术
第三方登录是指利用相互认同的授权协议和授权模式,使用用户在第三方平台上已有的账号和密码来快速完成己方应用的登录或注册的功能。例如,用户在浏览某第三方电子商务网站并希望进行商品购买时,可以使用在某电子邮件应用中注册的账号和密码登录该第三方电子商务网站,以免去或简化登录、注册等流程。在相关技术中的第三方登录过程中,可以采用第三方登录协议Oauth2.0。
发明内容
发明人认识到,在使用Oauth2.0的过程中,第三方客户端无法判别己方应用的用户代理发送的URL(Uniform Resource Locator,统一资源定位符)是否是恶意的,有可能被恶意的用户代理利用,安全性较低。
本发明实施例所要解决的一个技术问题是:如何提高第三方登录过程中的安全性。
根据本发明一些实施例的第一个方面,提供一种授权方法,包括:获取用户代理发送的握手验证码;获取第一授权请求,其中,第一授权请求中包括握手验证码;获取用户授权信息;响应于第一授权请求中的握手验证码与用户代理发送的握手验证码一致、以及用户授权信息通过验证,反馈授权码;获取第二授权请求,其中,第二授权请求中包括握手验证码和授权码;响应于第二授权请求中的握手验证码与用户代理发送的握手验证码一致、以及授权码通过验证,反馈访问令牌。
在一些实施例中,获取用户代理发送的第一授权请求;响应于第一授权请求中的握手验证码与用户代理发送的握手验证码一致、以及用户授权信息通过验证,向用户代理反馈授权码,以便用户代理向客户端返回握手验证码和授权码。
在一些实施例中,响应于第一授权请求中的握手验证码与用户代理发送的握手验证码一致、以及用户授权信息通过验证,并且握手验证码未过期,反馈授权码。
在一些实施例中,获取客户端发送的第二授权请求;响应于第二授权请求中的握手验证码与用户代理发送的握手验证码一致、以及授权码通过验证,向客户端反馈访问令牌,以便客户端通过访问令牌获取资源。
在一些实施例中,第一授权请求包括客户端标识、第一重定向URL、握手验证码,和/或,第二授权请求包括授权码、第二重定向URL、握手验证码。
在一些实施例中,握手验证码包括用户代理的IP地址和随机数。
根据本发明一些实施例的第二个方面,提供一种授权方法,包括:向授权服务器发送握手验证码;向授权服务器发送第一授权请求,其中,第一授权请求中包括握手验证码;向授权服务器发送获得的用户授权信息;响应于授权服务器反馈授权码,向客户端发送握手验证码和授权码,以便客户端向授权服务器发送包括握手验证码和授权码的第二授权请求以获得访问令牌;其中,授权码是授权服务器响应于第一授权请求中的握手验证码与向授权服务器发送的握手验证码一致、以及用户授权信息通过验证而反馈的;访问令牌是授权服务器响应于第二授权请求中的握手验证码与向授权服务器发送的握手验证码一致、以及授权码通过验证而反馈的。
根据本发明一些实施例的第三个方面,提供一种授权方法,包括:获取用户代理发送的授权码和握手验证码,其中,授权码是授权服务器响应于用户代理发送的第一授权请求中的握手验证码与用户代理预先发送的握手验证码一致、以及用户代理发送的用户授权信息通过验证而反馈的;向授权服务器发送第二授权请求,其中,第二授权请求中包括握手验证码和授权码;获取授权服务器反馈的访问令牌,其中,访问令牌是授权服务器响应于第二授权请求中的握手验证码与用户代理发送的握手验证码一致、以及授权码通过验证而反馈的。
根据本发明一些实施例的第四个方面,提供一种授权服务器,包括:握手验证码获取模块,被配置为获取用户代理发送的握手验证码;第一授权请求获取模块,被配置为获取第一授权请求,其中,第一授权请求中包括握手验证码;用户授权信息获取模块,被配置为获取用户授权信息;授权码反馈模块,被配置为响应于第一授权请求中的握手验证码与用户代理发送的握手验证码一致、以及用户授权信息通过验证,反馈授权码;第二授权请求获取模块,被配置为获取第二授权请求,其中,第二授权请求中包括握手验证码和授权码;令牌反馈模块,被配置为响应于第二授权请求中的握手验证码与用户代理发送的握手验证码一致、以及授权码通过验证,反馈访问令牌。
在一些实施例中,第一授权请求获取模块进一步被配置为获取用户代理发送的第一授权请求;授权码反馈模块进一步被配置为响应于第一授权请求中的握手验证码与用户代理发送的握手验证码一致、以及用户授权信息通过验证,向用户代理反馈授权码,以便用户代理向客户端返回握手验证码和授权码。
在一些实施例中,授权码反馈模块进一步被配置为响应于第一授权请求中的握手验证码与用户代理发送的握手验证码一致、以及用户授权信息通过验证,并且握手验证码未过期,反馈授权码。
在一些实施例中,第二授权请求获取模块进一步被配置为获取客户端发送的第二授权请求;令牌反馈模块进一步被配置为响应于第二授权请求中的握手验证码与用户代理发送的握手验证码一致、以及授权码通过验证,向客户端反馈访问令牌,以便客户端通过访问令牌获取资源。
在一些实施例中,第一授权请求包括客户端标识、第一重定向URL、握手验证码,和/或,第二授权请求包括授权码、第二重定向URL、握手验证码。
在一些实施例中,握手验证码包括用户代理的IP地址和随机数。
根据本发明一些实施例的第五个方面,提供一种用户代理装置,包括:握手验证码发送模块,被配置为向授权服务器发送握手验证码;第一授权请求发送模块,被配置为向授权服务器发送第一授权请求,其中,第一授权请求中包括握手验证码;用户授权信息发送模块,被配置为向授权服务器发送获得的用户授权信息;授权码验证码发送模块,被配置为响应于授权服务器反馈授权码,向客户端发送握手验证码和授权码,以便客户端向授权服务器发送包括握手验证码和授权码的第二授权请求以获得访问令牌;其中,授权码是授权服务器响应于第一授权请求中的握手验证码与用户代理发送的握手验证码一致、以及用户授权信息通过验证而反馈的;访问令牌是授权服务器响应于第二授权请求中的握手验证码与用户代理发送的握手验证码一致、以及授权码通过验证而反馈的。
根据本发明一些实施例的第六个方面,提供一种客户端装置,包括:授权码验证码获取模块,被配置为获取用户代理发送的授权码和握手验证码,其中,授权码是授权服务器响应于用户代理发送的第一授权请求中的握手验证码与用户代理预先发送的握手验证码一致、以及用户代理发送的用户授权信息通过验证而反馈的;第二授权请求发送模块,被配置为向授权服务器发送第二授权请求,其中,第二授权请求中包括握手验证码和授权码;令牌获取模块,被配置为获取授权服务器反馈的访问令牌,其中,访问令牌是授权服务器响应于第二授权请求中的握手验证码与用户代理发送的握手验证码一致、以及授权码通过验证而反馈的。
根据本发明一些实施例的第七个方面,提供一种授权系统,包括:前述任意一种授权服务器、用户代理装置以及客户端装置。
根据本发明一些实施例的第八个方面,提供一种授权装置,包括:存储器;以及耦接至存储器的处理器,处理器被配置为基于存储在存储器中的指令,执行前述任意一种授权方法。
根据本发明一些实施例的第九个方面,提供一种计算机可读存储介质,其上存储有计算机程序,其中,该程序被处理器执行时实现前述任意一种授权方法。
上述发明中的一些实施例具有如下优点或有益效果:本发明实施例的方法通过握手验证码的传递,识别真实有效的请求,可以降低中间人攻击的成功率,提高了第三方登录过程中的安全性。
通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1A为相关技术中一些实施例的授权方法的流程示意图。
图1B为存在中间人攻击时的场景示意图。
图2为根据本发明一些实施例的授权方法的流程示意图。
图3A为根据本发明一些实施例的用户代理认证方法的流程示意图。
图3B为根据本发明一些实施例的客户端认证方法的流程示意图。
图4为根据本发明一些实施例的授权方法的流程示意图。
图5为根据本发明一些实施例的授权服务器的结构示意图。
图6为根据本发明一些实施例的用户代理装置的结构示意图。
图7为根据本发明一些实施例的客户端装置的结构示意图。
图8为根据本发明一些实施例的授权系统的结构示意图。
图9为根据本发明一些实施例的授权装置的结构示意图。
图10为根据本发明另一些实施例的授权装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。
在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
图1A为相关技术中一些实施例的授权方法的流程示意图。如图1A所示,该实施例的授权方法包括步骤S102~S110。
在步骤S102中,响应于用户访问第三方客户端,客户端通过用户代理将用户导向授权服务器,其中包含了重定向地址。
在步骤S104中,用户对通过用户代理第三方客户端进行授权,用户代理将授权信息传送给服务器。
在步骤S106中,授权服务器通过用户代理向第三方客户端返回授权码,并将用户导向到重定向地址。
在步骤S108中,第三方客户端通过重定向地址和授权码向授权服务器申请访问令牌。
在步骤S110中,授权服务器在授权码和重定向地址确认无误的情况下,向第三方客户端返回访问令牌。
发明人经过分析后发现,上述流程存在中间人攻击的威胁。如图1B所示,恶意中间人在截获了授权服务器返回的授权码后,可能会向第三方客户端返回虚假信息甚至恶意信息。
为了进一步提高第三方客户端授权过程中的安全性,发明人在授权流程之前引入了握手验证码,使得用户代理和授权服务器预先相互确认身份,避免恶意中间人伪装成真实的用户代理。下面参考图2描述本发明授权方法的实施例。
图2为根据本发明一些实施例的授权方法的流程示意图。如图2所示,该实施例的授权方法包括步骤S202~S212。该实施例的授权方法例如可以由授权服务器等认证设备执行。
在步骤S202中,获取用户代理发送的握手验证码。用户代理可以为用户服务提供商通过浏览器呈现的前端页面或程序。
在一些实施例中,握手验证码包括随机数。此外,还可以包括用户代理的IP地址等其他信息。根据需要,握手验证码还可以设置有效期以提高安全性。从而,可以增加握手验证码的不确定性,使其难以被破解。
步骤S202为一个预处理过程,目的是在进行授权流程之前,用户代理和授权服务器互相确认身份。从步骤S204开始,执行授权流程。
在步骤S204中,获取第一授权请求,其中,第一授权请求中包括握手验证码。
在一些实施例中,第一授权请求还包括客户端标识、第一重定向URL。在第一重定向URL中,例如可以包括以下参数中的一个或多个:response_type,表示授权类型,一般值为“code”;client_id,表示客户端的标识;redirect_uri,表示重定向URI;scope,表示申请的权限范围;state,表示客户端的当前状态;checknum,表示握手验证码。即,客户端标识和握手验证码可以写入到第一重定向URL中。
在步骤S206中,获取用户授权信息。授权信息例如可以包括用户的账号、密码以及用户同意授权的指示。
在步骤S208中,响应于第一授权请求中的握手验证码与用户代理发送的握手验证码一致、以及用户授权信息通过验证,反馈授权码。授权码例如可以为授权码,也可以是其他形式的标识。
当第一授权请求中的握手验证码和用户代理之前发送的握手验证码一致时,可以确认第一授权请求的发送方为真实的用户代理,从而可以继续后续的流程。否则,发送第一授权请求的对象有可能是恶意用户代理、或者是已过期的用户代理。
在步骤S210中,获取第二授权请求,其中,第二授权请求中包括握手验证码和授权码。
在一些实施例中,第二授权请求还包括第二重定向URL。在第二重定向URL中,例如可以包括以下参数中的一个或多个:grant_type,表示使用的授权模式,一般值为“authorization_code”;code,表示授权码;redirect_uri,表示重定向URI;client_id,表示客户端标识;checknum,表示握手验证码。即,授权码和握手验证码可以写入到第一重定向URL中。
在步骤S212中,响应于第二授权请求中的握手验证码与用户代理发送的握手验证码一致、以及授权码通过验证,反馈访问令牌。
当第二授权请求中的握手验证码与用户代理发送的握手验证码一致时,可以确认发送第二授权请求的对象是与真实的用户代理进行通信的第三方客户端,而非恶意中间人。而通过验证授权码,可以进一步确认该真实的第三方客户端是之前获得授权的客户端。从而,可以向其返回令牌,以便客户端通过访问令牌访问用户服务提供商中的用户资源。
上述实施例的方法通过握手验证码的传递,识别真实有效的请求,可以降低中间人攻击的成功率,提高了第三方登录过程中的安全性。
下面参考图3A描述用户代理的认证方法的实施例。
图3A为根据本发明一些实施例的用户代理认证方法的流程示意图。如图3A所示,该实施例的用户代理认证方法包括步骤S302~S310。
在步骤S302中,用户代理向授权服务器发送握手验证码。
在步骤S304中,用户代理向授权服务器发送第一授权请求,其中,第一授权请求中包括握手验证码。
在步骤S306中,用户代理向授权服务器发送获得的用户授权信息。
在步骤S308中,响应于第一授权请求中的握手验证码与用户代理发送的握手验证码一致、以及用户授权信息通过验证,授权服务器向用户代理反馈授权码。
在一些实施例中,响应于第一授权请求中的握手验证码与用户代理发送的握手验证码一致、以及用户授权信息通过验证,并且握手验证码未过期,授权服务器反馈授权码。从而可以使得握手验证码在一定期限内有效,进一步提高了安全性。
在步骤S310中,用户代理响应于授权服务器反馈授权码,向客户端发送握手验证码和授权码,以便客户端向授权服务器发送包括握手验证码和授权码的第二授权请求以获得访问令牌。
通过上述实施例的方法,可以通过握手验证码确认发送第一授权请求的对象是否为用户代理,并且在确认的情况下向用户代理反馈授权码,以便用户代理与客户端进行通信,完成后续的验证流程。下面参考图3B描述客户端的认证方法的实施例。
图3B为根据本发明一些实施例的客户端认证方法的流程示意图。如图3B所示,该实施例的客户端认证方法包括步骤S312~S318。
在步骤S312中,客户端获取用户代理发送的授权码和握手验证码。
在步骤S314中,客户端向授权服务器发送第二授权请求,第二授权请求中包括握手验证码和授权码。
在步骤S316中,响应于第二授权请求中的握手验证码与用户代理发送的握手验证码一致、以及授权码通过验证,授权服务器向客户端反馈访问令牌。
在步骤S318中,客户端通过访问令牌获取资源。
通过上述实施例的方法,可以通过握手验证码确认发送第二授权请求的对象是否为用户代理确认的真实第三方客户端,并且在确认的情况下向客户端反馈令牌,以便客户端通过访问令牌获取资源。从而提高了第三方登录过程的安全性。
下面参考图4描述本发明授权方法的实施例。
图4为根据本发明一些实施例的授权方法的流程示意图。如图4所示,该实施例的授权方法包括步骤S402~S420。
在步骤S402中,用户代理向授权服务器发送握手验证码,内容为192.186.112.112+23469,以及10分钟的有效期限信息。其中192.186.112.112为用户代理的IP地址,23469为用户代理生成的随机数。该握手验证码的有效期为10分钟,过期后需要重新进行握手。
在步骤S404中,授权服务器向用户代理发送响应,以确认收到握手验证码。握手验证码在服务器的保存期限为10分钟。
在步骤S406中,客户端通过用户代理向授权服务器发送第一重定向URL,内容例如为https://www.example.com/v1/oauth/authorize?response_type=code&client_id=CLIENT_ID&redirect_uri=CALLBACK_URL&scope=read&state=xxx&checknum=192.186.112.112+23469。从而对授权服务器进行第一授权请求。
在步骤S408中,用户通过用户代理向授权服务器发送用户授权信息。
在步骤S410中,授权服务器对第一重定向URL中的握手验证码以及用户授权信息进行验证。
在步骤S412中,响应于验证通过,授权服务器通过用户代理向客户端返回响应信息,响应信息对应的重定向URL为https://client.example.com/cb?code=SplxlOBeZQQYbYS6WxSbIA&state=xxx&checkstate=ok,其中,授权码为SplxlOBeZQQYbYS6WxSbIA。
如果验证不通过,授权服务器可以丢弃该请求。
在步骤S414中,客户端向授权服务器发送第二重定向URL,内容例如为https://www.example.com/v1/oauth/token?client_id=CLIENT_ID&grant_type=authorization_code&code=SplxlOBeZQQYbYS6WxSbIA&redirect_uri=CALLBACK_URL&checknum=192.186.112.112+23469。从而对授权服务器进行第二授权请求。
在步骤S416中,授权服务器对第二重定向URL中的握手验证码和授权码进行验证。
在步骤S418中,响应于验证通过,授权服务器向客户端返回访问令牌,内容例如为{"access_token":"2YotnFZFEjr1zCsicMWpAA","token_type":"example","expires_in":3600,"refresh_token":"tGzv3JOkF0XG5Qx2TlKWIA","example_parameter":"example_value"}。
如果验证不通过,授权服务器可以丢弃该请求。
在步骤S420中,客户端采用获得的访问令牌访问资源。
上述实施例的方法通过建立用户代理和授权服务器的握手过程以传递握手验证码,能够提前确认授权流程中通信各方的身份,进一步提升了第三方登录过程中的安全性。
下面参考图5描述本发明授权服务器的实施例。
图5为根据本发明一些实施例的授权服务器的结构示意图。如图5所示,该实施例的授权服务器500包括:握手验证码获取模块5100,被配置为获取用户代理发送的握手验证码;第一授权请求获取模块5200,被配置为获取第一授权请求,其中,第一授权请求中包括握手验证码;用户授权信息获取模块5300,被配置为获取用户授权信息;授权码反馈模块5400,被配置为响应于第一授权请求中的握手验证码与用户代理发送的握手验证码一致、以及用户授权信息通过验证,反馈授权码;第二授权请求获取模块5500,被配置为获取第二授权请求,其中,第二授权请求中包括握手验证码和授权码;令牌反馈模块5600,被配置为响应于第二授权请求中的握手验证码与用户代理发送的握手验证码一致、以及授权码通过验证,反馈访问令牌。
在一些实施例中,第一授权请求获取模块5200进一步被配置为获取用户代理发送的第一授权请求;授权码反馈模块5400进一步被配置为响应于第一授权请求中的握手验证码与用户代理发送的握手验证码一致、以及用户授权信息通过验证,向用户代理反馈授权码,以便用户代理向客户端返回握手验证码和授权码。
在一些实施例中,授权码反馈模块5400进一步被配置为响应于第一授权请求中的握手验证码与用户代理发送的握手验证码一致、以及用户授权信息通过验证,并且握手验证码未过期,反馈授权码。
在一些实施例中,第二授权请求获取模块5500进一步被配置为获取客户端发送的第二授权请求;令牌反馈模块5600进一步被配置为响应于第二授权请求中的握手验证码与用户代理发送的握手验证码一致、以及授权码通过验证,向客户端反馈访问令牌,以便客户端通过访问令牌获取资源。
在一些实施例中,第一授权请求包括客户端标识、第一重定向URL、握手验证码,和/或,第二授权请求包括授权码、第二重定向URL、握手验证码。
在一些实施例中,握手验证码包括用户代理的IP地址和随机数。
下面参考图6描述本发明用户代理装置的实施例。
图6为根据本发明一些实施例的用户代理装置的结构示意图。如图6所示,该实施例的用户代理装置600包括:握手验证码发送模块6100,被配置为向授权服务器发送握手验证码;第一授权请求发送模块6200,被配置为向授权服务器发送第一授权请求,其中,第一授权请求中包括握手验证码;用户授权信息发送模块6300,被配置为向授权服务器发送获得的用户授权信息;授权码验证码发送模块6400,被配置为响应于授权服务器反馈授权码,向客户端发送握手验证码和授权码,以便客户端向授权服务器发送包括握手验证码和授权码的第二授权请求以获得访问令牌;其中,授权码是授权服务器响应于第一授权请求中的握手验证码与用户代理发送的握手验证码一致、以及用户授权信息通过验证而反馈的;访问令牌是授权服务器响应于第二授权请求中的握手验证码与用户代理发送的握手验证码一致、以及授权码通过验证而反馈的。
下面参考图7描述本发明客户端装置的实施例。
图7为根据本发明一些实施例的客户端装置的结构示意图。如图7所示,该实施例的客户端装置700包括:授权码验证码获取模块7100,被配置为获取用户代理发送的授权码和握手验证码,其中,授权码是授权服务器响应于用户代理发送的第一授权请求中的握手验证码与用户代理预先发送的握手验证码一致、以及用户代理发送的用户授权信息通过验证而反馈的;第二授权请求发送模块7200,被配置为向授权服务器发送第二授权请求,其中,第二授权请求中包括握手验证码和授权码;令牌获取模块7300,被配置为获取授权服务器反馈的访问令牌,其中,访问令牌是授权服务器响应于第二授权请求中的握手验证码与用户代理发送的握手验证码一致、以及授权码通过验证而反馈的。
下面参考图8描述本发明授权系统的实施例。
图8为根据本发明一些实施例的授权系统的结构示意图。如图8所示,该实施例的授权系统80包括授权服务器810、用户代理装置820以及客户端装置830,这些服务器或装置的具体实施方式可以参考前述实施例,这里不再赘述。
图9为根据本发明一些实施例的授权装置的结构示意图,授权装置可以为授权服务器、用户代理装置或者客户端装置。如图9所示,该实施例的授权装置90包括:存储器910以及耦接至该存储器910的处理器920,处理器920被配置为基于存储在存储器910中的指令,执行前述任意一个实施例中的授权方法。
其中,存储器910例如可以包括系统存储器、固定非易失性存储介质等。系统存储器例如存储有操作系统、应用程序、引导装载程序(Boot Loader)以及其他程序等。
图10为根据本发明另一些实施例的授权装置的结构示意图,授权装置可以为授权服务器、用户代理装置或者客户端装置。如图10所示,该实施例的授权装置100包括:存储器1010以及处理器1020,还可以包括输入输出接口1030、网络接口1040、存储接口1050等。这些接口1030,1040,1050以及存储器1010和处理器1020之间例如可以通过总线1060连接。其中,输入输出接口1030为显示器、鼠标、键盘、触摸屏等输入输出设备提供连接接口。网络接口1040为各种联网设备提供连接接口。存储接口1050为SD卡、U盘等外置存储设备提供连接接口。
本发明的实施例还提供一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现前述任意一种授权方法。
本领域内的技术人员应当明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用非瞬时性存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解为可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (19)

1.一种授权方法,包括:
获取用户代理发送的握手验证码;
获取第一授权请求,其中,所述第一授权请求中包括握手验证码;
获取用户授权信息;
响应于所述第一授权请求中的握手验证码与所述用户代理发送的握手验证码一致、以及所述用户授权信息通过验证,反馈授权码;
获取第二授权请求,其中,所述第二授权请求中包括握手验证码和授权码;
响应于所述第二授权请求中的握手验证码与所述用户代理发送的握手验证码一致、以及所述授权码通过验证,反馈访问令牌。
2.根据权利要求1所述的授权方法,其中,
获取用户代理发送的第一授权请求;
响应于所述第一授权请求中的握手验证码与所述用户代理发送的握手验证码一致、以及所述用户授权信息通过验证,向用户代理反馈授权码,以便用户代理向客户端返回握手验证码和授权码。
3.根据权利要求1所述的授权方法,其中,响应于所述第一授权请求中的握手验证码与所述用户代理发送的握手验证码一致、以及所述用户授权信息通过验证,并且所述握手验证码未过期,反馈授权码。
4.根据权利要求2所述的授权方法,其中,
获取客户端发送的第二授权请求;
响应于所述第二授权请求中的握手验证码与所述用户代理发送的握手验证码一致、以及所述授权码通过验证,向客户端反馈访问令牌,以便客户端通过访问令牌获取资源。
5.根据权利要求1所述的授权方法,其中,
所述第一授权请求包括客户端标识、第一重定向统一资源定位符URL、握手验证码,和/或,
所述第二授权请求包括授权码、第二重定向URL、握手验证码。
6.根据权利要求1~5中任一项所述的授权方法,其中,所述握手验证码包括用户代理的网络协议IP地址和随机数。
7.一种授权方法,包括:
向授权服务器发送握手验证码;
向授权服务器发送第一授权请求,其中,所述第一授权请求中包括握手验证码;
向授权服务器发送获得的用户授权信息;
响应于授权服务器反馈授权码,向客户端发送握手验证码和授权码,以便客户端向授权服务器发送包括握手验证码和授权码的第二授权请求以获得访问令牌;
其中,所述授权码是授权服务器响应于所述第一授权请求中的握手验证码与向授权服务器发送的握手验证码一致、以及所述用户授权信息通过验证而反馈的;所述访问令牌是授权服务器响应于所述第二授权请求中的握手验证码与所述向授权服务器发送的握手验证码一致、以及所述授权码通过验证而反馈的。
8.一种授权方法,包括:
获取用户代理发送的授权码和握手验证码,其中,所述授权码是授权服务器响应于用户代理发送的第一授权请求中的握手验证码与所述用户代理预先发送的握手验证码一致、以及所述用户代理发送的用户授权信息通过验证而反馈的;
向授权服务器发送第二授权请求,其中,所述第二授权请求中包括握手验证码和授权码;
获取授权服务器反馈的访问令牌,其中,所述访问令牌是授权服务器响应于所述第二授权请求中的握手验证码与所述用户代理发送的握手验证码一致、以及所述授权码通过验证而反馈的。
9.一种授权服务器,包括:
握手验证码获取模块,被配置为获取用户代理发送的握手验证码;
第一授权请求获取模块,被配置为获取第一授权请求,其中,所述第一授权请求中包括握手验证码;
用户授权信息获取模块,被配置为获取用户授权信息;
授权码反馈模块,被配置为响应于所述第一授权请求中的握手验证码与所述用户代理发送的握手验证码一致、以及所述用户授权信息通过验证,反馈授权码;
第二授权请求获取模块,被配置为获取第二授权请求,其中,所述第二授权请求中包括握手验证码和授权码;
令牌反馈模块,被配置为响应于所述第二授权请求中的握手验证码与所述用户代理发送的握手验证码一致、以及所述授权码通过验证,反馈访问令牌。
10.根据权利要求9所述的授权服务器,其中,
所述第一授权请求获取模块进一步被配置为获取用户代理发送的第一授权请求;
所述授权码反馈模块进一步被配置为响应于所述第一授权请求中的握手验证码与所述用户代理发送的握手验证码一致、以及所述用户授权信息通过验证,向用户代理反馈授权码,以便用户代理向客户端返回握手验证码和授权码。
11.根据权利要求9所述的授权服务器,其中,所述授权码反馈模块进一步被配置为响应于所述第一授权请求中的握手验证码与所述用户代理发送的握手验证码一致、以及所述用户授权信息通过验证,并且所述握手验证码未过期,反馈授权码。
12.根据权利要求10所述的授权服务器,其中,
所述第二授权请求获取模块进一步被配置为获取客户端发送的第二授权请求;
所述令牌反馈模块进一步被配置为响应于所述第二授权请求中的握手验证码与所述用户代理发送的握手验证码一致、以及所述授权码通过验证,向客户端反馈访问令牌,以便客户端通过访问令牌获取资源。
13.根据权利要求9所述的授权服务器,其中,
所述第一授权请求包括客户端标识、第一重定向统一资源定位符URL、握手验证码,和/或,
所述第二授权请求包括授权码、第二重定向URL、握手验证码。
14.根据权利要求9~13中任一项所述的授权服务器,其中,所述握手验证码包括用户代理的网络协议IP地址和随机数。
15.一种用户代理装置,包括:
握手验证码发送模块,被配置为向授权服务器发送握手验证码;
第一授权请求发送模块,被配置为向授权服务器发送第一授权请求,其中,所述第一授权请求中包括握手验证码;
用户授权信息发送模块,被配置为向授权服务器发送获得的用户授权信息;
授权码验证码发送模块,被配置为响应于授权服务器反馈授权码,向客户端发送握手验证码和授权码,以便客户端向授权服务器发送包括握手验证码和授权码的第二授权请求以获得访问令牌;
其中,所述授权码是授权服务器响应于所述第一授权请求中的握手验证码与向授权服务器发送的握手验证码一致、以及所述用户授权信息通过验证而反馈的;所述访问令牌是授权服务器响应于所述第二授权请求中的握手验证码与所述向授权服务器发送的握手验证码一致、以及所述授权码通过验证而反馈的。
16.一种客户端装置,包括:
授权码验证码获取模块,被配置为获取用户代理发送的授权码和握手验证码,其中,所述授权码是授权服务器响应于用户代理发送的第一授权请求中的握手验证码与所述用户代理预先发送的握手验证码一致、以及所述用户代理发送的用户授权信息通过验证而反馈的;
第二授权请求发送模块,被配置为向授权服务器发送第二授权请求,其中,所述第二授权请求中包括握手验证码和授权码;
令牌获取模块,被配置为获取授权服务器反馈的访问令牌,其中,所述访问令牌是授权服务器响应于所述第二授权请求中的握手验证码与所述用户代理发送的握手验证码一致、以及所述授权码通过验证而反馈的。
17.一种授权系统,包括:
权利要求9~14中任一项所述的授权服务器,
权利要求15所述的用户代理装置,以及
权利要求16所述的客户端装置。
18.一种授权装置,包括:
存储器;以及
耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器中的指令,执行如权利要求1~8中任一项所述的授权方法。
19.一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现权利要求1~8中任一项所述的授权方法。
CN201811363084.XA 2018-11-15 2018-11-15 授权方法、系统和相关设备 Active CN111193691B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811363084.XA CN111193691B (zh) 2018-11-15 2018-11-15 授权方法、系统和相关设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811363084.XA CN111193691B (zh) 2018-11-15 2018-11-15 授权方法、系统和相关设备

Publications (2)

Publication Number Publication Date
CN111193691A true CN111193691A (zh) 2020-05-22
CN111193691B CN111193691B (zh) 2022-05-24

Family

ID=70710632

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811363084.XA Active CN111193691B (zh) 2018-11-15 2018-11-15 授权方法、系统和相关设备

Country Status (1)

Country Link
CN (1) CN111193691B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112989426A (zh) * 2021-04-30 2021-06-18 腾讯科技(深圳)有限公司 授权认证方法及装置、资源访问令牌的获取方法
CN114500089A (zh) * 2022-02-24 2022-05-13 特赞(上海)信息科技有限公司 基于OAuth2.0协议的授权登录方法、系统及电子设备
CN115002057A (zh) * 2022-05-26 2022-09-02 威艾特科技(深圳)有限公司 一种分布式多服务端即时通信方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105897668A (zh) * 2015-10-22 2016-08-24 乐视致新电子科技(天津)有限公司 一种第三方账号授权方法、设备、服务器及其系统
CN108449340A (zh) * 2017-12-28 2018-08-24 齐爱民 基于账户信息的身份认证方法及其认证系统
US20180278603A1 (en) * 2017-03-27 2018-09-27 Canon Kabushiki Kaisha Control method for authentication/authorization server, resource server, and authentication/authorization system
CN108650239A (zh) * 2018-04-17 2018-10-12 新大陆(福建)公共服务有限公司 一种OAuth协议的认证方法
CN108737328A (zh) * 2017-04-14 2018-11-02 新浪网技术(中国)有限公司 一种浏览器用户代理识别方法、系统及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105897668A (zh) * 2015-10-22 2016-08-24 乐视致新电子科技(天津)有限公司 一种第三方账号授权方法、设备、服务器及其系统
US20180278603A1 (en) * 2017-03-27 2018-09-27 Canon Kabushiki Kaisha Control method for authentication/authorization server, resource server, and authentication/authorization system
CN108737328A (zh) * 2017-04-14 2018-11-02 新浪网技术(中国)有限公司 一种浏览器用户代理识别方法、系统及装置
CN108449340A (zh) * 2017-12-28 2018-08-24 齐爱民 基于账户信息的身份认证方法及其认证系统
CN108650239A (zh) * 2018-04-17 2018-10-12 新大陆(福建)公共服务有限公司 一种OAuth协议的认证方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
魏成坤 等: ""OAuth2.0协议的优化方法"", 《计算机工程与设计》 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112989426A (zh) * 2021-04-30 2021-06-18 腾讯科技(深圳)有限公司 授权认证方法及装置、资源访问令牌的获取方法
CN114500089A (zh) * 2022-02-24 2022-05-13 特赞(上海)信息科技有限公司 基于OAuth2.0协议的授权登录方法、系统及电子设备
CN114500089B (zh) * 2022-02-24 2024-02-09 特赞(上海)信息科技有限公司 基于OAuth2.0协议的授权登录方法、系统及电子设备
CN115002057A (zh) * 2022-05-26 2022-09-02 威艾特科技(深圳)有限公司 一种分布式多服务端即时通信方法
CN115002057B (zh) * 2022-05-26 2024-04-12 威艾特科技(深圳)有限公司 一种分布式多服务端即时通信方法

Also Published As

Publication number Publication date
CN111193691B (zh) 2022-05-24

Similar Documents

Publication Publication Date Title
CN107135073B (zh) 接口调用方法和装置
CN107070945B (zh) 身份登录方法及设备
CN111917773B (zh) 业务数据处理方法、装置和服务器
US10313126B2 (en) Barcode security authentication method
CN106790238B (zh) 一种跨站请求伪造csrf防御认证方法和装置
CN107046544B (zh) 一种识别对网站的非法访问请求的方法和装置
WO2016078182A1 (zh) 敏感数据的授权方法、装置和系统
CN106302308B (zh) 一种信任登录方法和装置
US9313257B2 (en) Method for starting a client program
CN111193691B (zh) 授权方法、系统和相关设备
US11336449B2 (en) Information processing apparatus, computer program product, and resource providing method
CN107566323B (zh) 一种应用系统登录方法和装置
US20160381001A1 (en) Method and apparatus for identity authentication between systems
CN105007280A (zh) 一种应用登录方法和装置
CN108462581A (zh) 网络令牌生成的方法、装置、终端设备及存储介质
CN110213321B (zh) 互联网应用中提供第三方服务的方法、装置及电子设备
CN106559405B (zh) 一种Portal认证方法和设备
CN110069909B (zh) 一种免密登录第三方系统的方法及装置
US11165768B2 (en) Technique for connecting to a service
CN110708335A (zh) 访问认证方法、装置及终端设备
CN106302606A (zh) 一种跨应用访问方法及装置
CN115022047B (zh) 基于多云网关的账户登录方法、装置、计算机设备及介质
CN110826049A (zh) 基于智慧企业门户的单点登录实现系统
CN110224971B (zh) 授权登录的方法、授权服务器、系统、设备和存储介质
CN108390878B (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