基于OAuth标准的授权方法、OAuth服务器及存储介质与流程

文档序号:32836087发布日期:2023-01-06 18:38阅读:47来源:国知局
基于OAuth标准的授权方法、OAuth服务器及存储介质与流程
基于oauth标准的授权方法、oauth服务器及存储介质
技术领域
1.本发明涉及计算机通信技术领域,尤其涉及基于oauth标准的授权方法、oauth服务器及存储介质。


背景技术:

2.开放鉴权应用程序接口oauth标准作为目前业界最为流行的第三方应用程序接口(api)鉴权授权访问协议已在互联网上广泛使用,oauth标准能够让用户在不暴露密钥的情况下将用户在某个服务提供商保存的信息暴露给第三方应用。
3.然而,目前此类oauth服务器往往存在以下问题:如果一个用户的账户信息已经在某个客户端登录,oauth服务器又检测到相同的账户信息在另一个客户端发送了登录请求,则该oauth服务器不能判断两个客户端中哪一个是正常登录。


技术实现要素:

4.鉴于以上内容,有必要提出一种基于oauth标准的授权方法、oauth服务器及存储介质,以解决oauth服务器较难确定多个客户端的正常登录状况的技术问题。
5.本技术实施例提供一种基于oauth标准的授权方法,应用于一种系统,所述系统包括oauth服务器、第一客户端与第二客户端,所述方法包括:
6.所述oauth服务器接收所述第一客户端所发送的第一登录申请,所述第一登录申请包括普通用户的第一账户信息;
7.所述oauth服务器对所述第一账户信息进行认证;
8.基于所述第一账户信息确定所述普通用户在第二客户端已登录;
9.所述oauth服务器向第一客户端发送第一验证请求,所述oauth服务器接收所述第一客户端基于所述第一验证请求所生成的第二账户信息;
10.所述oauth服务器向第二客户端发送第二验证请求,所述oauth服务器接收所述第二客户端基于所述第二验证请求所生成的所述第三账户信息;
11.所述oauth服务器将所述第二账户信息、所述第三账户信息分别与设定的标准验证信息进行比对,所述oauth服务器根据比对结果确定所述第一客户端与所述第二客户端的登录状态,所述登录状态包括异常登录与正常登录。
12.通过采用与第一次登录方式不同的验证方式同时识别两个客户端的登录状态,即能够准确识别出哪一个客户端是异常登录,哪一个客户端是正常登录,而不是默认为第二次登录的客户端是异常登录,如此更加能够对用户的正常登录行为提供保障。
13.在一个实施例中:所述方法还包括:
14.当所述oauth服务器判断所述第二客户端为异常登录时,所述oauth服务器删除所述第二客户端的第一访问令牌,并销毁与所述第二客户端建立的全局会话,同时向所述第二客户端上所有基于所述第一访问令牌注册的应用发起注销请求,以使所述第二客户端上的应用销毁与所述第二客户端建立的局部会话。
15.通过oauth服务器接收到一个已经登录过的账户从另一客户端发送的登录请求时,对两个客户端的登录状态进行验证,根据两个客户端的反馈信息判断登录状态,将异常登录的客户端的账户登出,如此可以防止用户的数据信息继续处于泄漏状态。
16.在一个实施例中:所述方法还包括:
17.当所述oauth服务器判断所述第一客户端为正常登录时,所述oauth服务器生成第二访问令牌并向第一客户端返回第二访问令牌,以使所述第一客户端上的第一应用向所述oauth服务器发送第二登录申请,所述第二登录申请包括第二访问令牌,所述oauth服务器验证所述第二访问令牌正确,向所述第一应用返回第三访问令牌,所述第三访问令牌包括普通用户权限信息与所述第一应用的标识,以使所述第一应用根据第三访问令牌与所述第一客户端建立局部会话。
18.通过oauth服务器给予正常登录的客户端第二访问令牌,保证了被确认为正常登录状态的客户端能够不受在先登录的影响。
19.在一个实施例中:所述方法还包括:
20.所述oauth服务器记录第二客户端的异常登录信息,所述oauth服务器接收所述第一客户端的异常登录查询请求,向所述第一客户端发送所述第二客户端的异常登录信息。
21.通过oauth服务器获取第二客户端的异常登录信息,如此,普通用户可以知道第二客户端的异常登录方式,并能够了解自己的哪些信息被泄漏,进而及时修改被泄露的信息,
22.在一个实施例中:所述方法还包括:
23.所述oauth服务器接收所述第一应用发送的权限变更请求,所述权限变更请求包括第三访问令牌,所述oauth服务器验证第三访问令牌正确,所述oauth服务器根据所述第一应用的标识与预先存储的应用标识租户关系表确定所述第一应用对应的第一租户,所述oauth服务器向所述第一应用发送触发请求,所述触发请求包括第一租户设置的权限变更条件,所述oauth服务器接收所述第一应用基于所述权限变更条件发送的反馈信息,所述oauth服务器确定所述反馈信息与预设的标准信息一致,所述oauth向所述第一应用返回第三访问令牌,所述第三访问令牌包括变更后的权限信息。
24.通过oauth服务器预设的权限变更条件,向第一应用下发变更通知信息,以进行权限变更,如此,相较于手动权限变更,本方案的权限变更更高效、更及时。
25.本技术实施例还提供一种oauth服务器,所述oauth服务器包括,
26.通信单元,用于接收所述第一客户端发送的第一登录申请,所述第一登录申请包括普通用户的第一账户信息;
27.存储器,用于存储第一账户信息、第二账户信息、设定的标准验证信息;
28.处理器,分别与所述通信单元、所述存储器连接,用于对所述第一账户信息进行认证,确定所述第一账户信息正确,基于所述第一账户信息用于确定所述普通用户在第二客户端处于登录状态;
29.所述通信单元用于向所述第一客户端发送第一验证请求;所述通信单元用于接收所述第一客户端基于所述第一验证请求发送的第二账户信息;
30.所述通信单元用于向第二客户端发送第二验证请求;所述通信单元用于接收所述第二客户端基于所述第二验证请求发送的所述第三账户信息;
31.所述处理器还用于将所述第二账户信息、所述第三账户信息分别与存储器中设定
的标准验证信息进行比对,所述处理器用于根据比对结果确定所述第一客户端与所述第二客户端的登录状态,所述登录状态包括异常登录与正常登录。
32.在一个实施例中:所述存储器还用于存储第二客户端的第一访问令牌、处理器与第二客户端的全局会话,所述处理器用于判断所述第二客户端为异常登录时,所述处理器还用于删除所述第一访问令牌,并销毁所述全局会话,同时通过通信单元向所述第二客户端上所有用所述第一访问令牌注册的应用发起注销请求,以使所述第二客户端上的应用销毁与所述第二客户端建立的局部会话。
33.在一个实施例中:所述存储器还用于存储第一客户端的第二访问令牌,所述处理器用于判断所述第一客户端为正常登录时,所述处理器还用于生成第二访问令牌并通过通信单元向第一客户端返回第二访问令牌,以使所述第一客户端上的第一应用向所述通信单元发送第二登录申请,所述第二登录申请包括第二访问令牌,所述处理器还用于验证所述第二访问令牌正确,生成第三访问令牌并通过通信单元向所述第一应用返回第三访问令牌,所述第三访问令牌包括普通用户权限信息与所述第一应用的标识,以使所述第一应用根据第三访问令牌与所述第一客户端建立局部会话。
34.在一个实施例中:所述存储器还用于存储应用租户关系表、权限变更条件、预设的标准信息,所述通信单元用于接收所述第一应用发送的权限变更请求,所述权限修改请求包括第三访问令牌,所述处理器还用于验证第三访问令牌正确,所述处理器用于根据所述第一应用的标识与存储的应用-租户关系表确定所述第一应用对应的第一租户,所述通信单元还用于向所述第一应用发送触发请求,所述触发请求包括第一租户设置的所述权限变更条件,所述通信单元用于接收所述第一应用基于所述权限变更条件发送的反馈信息,所述处理器用于确定所述反馈信息与预设的标准信息一致,根据所述权限变更请求变更权限。
35.本技术实施例又提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被所述oauth服务器执行时实现上述的方法。
36.oauth服务器接收到一个已经登录过的账户从另一客户端发送的登录请求时,对两个客户端的登录状态进行验证,根据两个客户端的反馈信息判断登录状态,将异常登录的客户端的账户登出,防止用户的数据继续处于泄漏状态。
附图说明
37.图1是本发明一实施例提供的基于oauth标准的授权方法的流程图。
38.图2是本发明一实施例提供的权限设置过程的流程图。
39.图3是本发明一实施例提供的普通用户获取权限过程的示意图。
40.图4是本发明一实施例提供的oauth服务器的集群部署示意图。
41.图5为本发明一实施例提供的oauth服务器的架构示意图。
42.主要元件符号说明
43.oauth服务器10通信单元101存储器102处理器103
具体实施方式
44.为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
45.oauth(开放授权)是一个开放标准,允许用户让第三方应用访问该用户在某一网站上存储的私密的资源(如照片、视频、联系人列表),而无需将用户名和密码提供给第三方应用。目前oauth的版本为2.0,本技术中的oauth服务器是基于oauth2.0协议实现的。
46.如果一个用户的账户信息已经在某个客户端登录,oauth服务器又检测到相同的账户信息在另一个客户端发送了登录请求,现有技术中,oauth服务器会默认第一次登录为正常登录,将第二次登录的通知发送给第一次登录的客户端进行确认,却没有考虑到如果第一次登录是异常登录,则会导致第二次登录的普通用户无法正常登录,因此,现有oauth服务器较难确定多个客户端的正常登录状况,即无法识别两个客户端中哪一个是正常登录。
47.本技术实施例提供一种基于oauth标准的授权方法,应用于一种系统,所述系统包括oauth服务器、第一客户端与第二客户端,所述方法包括:
48.所述oauth服务器接收所述第一客户端所发送的第一登录申请,所述第一登录申请包括普通用户的第一账户信息;
49.所述oauth服务器对所述第一账户信息进行认证;
50.基于所述第一账户信息确定所述普通用户在第二客户端已登录;
51.所述oauth服务器向第一客户端发送第一验证请求,所述oauth服务器接收所述第一客户端基于所述第一验证请求所生成的第二账户信息;
52.所述oauth服务器向第二客户端发送第二验证请求,所述oauth服务器接收所述第二客户端基于所述第二验证请求所生成的所述第三账户信息;
53.所述oauth服务器将所述第二账户信息、所述第三账户信息分别与设定的标准验证信息进行比对,所述oauth服务器根据比对结果确定所述第一客户端与所述第二客户端的登录状态,所述登录状态包括异常登录与正常登录。
54.通过采用与第一次登录方式不同的验证方式同时识别两个客户端的登录状态,即能够准确识别出哪一个客户端是异常登录,哪一个客户端是正常登录,而不是默认为第二次登录的客户端是异常登录,如此更加能够对用户的正常登录行为提供保障。
55.本技术实施例还提供一种oauth服务器,所述oauth服务器包括,
56.通信单元,用于接收所述第一客户端发送的第一登录申请,所述第一登录申请包括普通用户的第一账户信息;
57.存储器,用于存储第一账户信息、第二账户信息、设定的标准验证信息;
58.处理器,分别与所述通信单元、所述存储器连接,用于对所述第一账户信息进行认证,确定所述第一账户信息正确,基于所述第一账户信息用于确定所述普通用户在第二客户端处于登录状态;
59.所述通信单元用于向所述第一客户端发送第一验证请求;所述通信单元用于接收所述第一客户端基于所述第一验证请求发送的第二账户信息;
60.所述通信单元用于向第二客户端发送第二验证请求;所述通信单元用于接收所述第二客户端基于所述第二验证请求发送的所述第三账户信息;
61.所述处理器还用于将所述第二账户信息、所述第三账户信息分别与存储器中设定的标准验证信息进行比对,所述处理器用于根据比对结果确定所述第一客户端与所述第二客户端的登录状态,所述登录状态包括异常登录与正常登录。
62.本技术实施例又提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被所述oauth服务器执行时实现上述的方法。
63.oauth服务器接收到一个已经登录过的账户从另一客户端发送的登录请求时,对两个客户端的登录状态进行验证,根据两个客户端的反馈信息判断登录状态,将异常登录的客户端的账户登出,防止用户的数据继续处于泄漏状态。
64.结合附图,以下将对本发明的一些实施方式进行详细说明。
65.如图1所示,本技术第一实施例提供一种基于oauth标准的授权方法。
66.所述方法包括以下步骤。
67.s101,所述oauth服务器接收所述第一客户端所发送的第一登录申请,所述第一登录申请包括普通用户的第一账户信息。
68.需要说明的是,第一客户端可以是手机、电脑、平板等;在本技术中,第一客户端以手机为例,第一账户信息包括用户的用户名和密码,还可以包括短信验证码登录等,在本技术中第一账户信息为用户的用户名和密码。
69.s102,所述oauth服务器对所述第一账户信息进行认证;基于所述第一账户信息确定所述普通用户在第二客户端已登录。
70.需要说明的是,第二客户端可以是手机、电脑、平板等。
71.在本技术中,第二客户端以平板为例,比如用户a使用用户名和密码登录手机上的某个应用,oauth服务器内设置有mysql数据库,mysql数据库内存储有各个用户的用户名和密码对应关系表,oauth服务器接收到用户a的用户名和密码,将其和mysql数据库中存储的对应关系表进行比对,如果mysql数据库存在对应的用户名和密码,则证明用户a输入的用户名和密码正确,oauth服务器通过存储的会话记录发现已经基于用户a的用户名密码生成过登录令牌并发送给了平板,意味着用户b在用户a登录之前,已经在平板上进行了登录,用户a和用户b在本技术中既可以指代同一个人,也可以指代不同的人,此时oauth服务器需要判断手机和平板到底哪个才是正常登录。
72.s103,所述oauth服务器向第一客户端发送第一验证请求,所述oauth服务器接收所述第一客户端基于所述第一验证请求所生成的第二账户信息。
73.s104,所述oauth服务器向第二客户端发送第二验证请求,所述oauth服务器接收所述第二客户端基于所述第二验证请求所生成的所述第三账户信息。
74.需要说明的是,oauth服务器发送的第一验证请求与第二验证请求是让用户a和用户b输入不同于第一次输入的信息登录,比如第二客户端初次是通过用户名和密码登录的,那么第二验证请求就不会再是输入用户名和密码,比如采用短信随机码的方式登录,若第一客户端初次是通过短信随机码的方式登录,第一验证请求不会再是短信随机码,比如是输入用户名和密码。
75.设用户a与用户b为不同的人,用户b为黑客,获取了用户a的用户名和密码,利用该
用户名和密码向oauth服务器发送登录请求且成功在第二客户端登录,用户a又在第一客户端向oauth服务器基于相同的用户名和密码发送登录请求,oauth服务器接收到用户a的登录请求,识别用户名和密码后发现该用户名和密码已经登录,此时oauth服务器同时向第一客户端、第二客户端发送输入短信随机码的验证请求,该黑客并未获得账户a主人的手机,所以并不能通过正确的短信验证码登录,oauth收到第一客户端、第二客户端的验证码反馈,识别出错误的验证码,即可判断第二客户端为异常登录,第一客户端为正常登录。
76.s105,所述oauth服务器将所述第二账户信息、所述第三账户信息分别与设定的标准验证信息进行比对,所述oauth服务器根据比对结果确定所述第一客户端与所述第二客户端的登录状态,所述登录状态包括异常登录与正常登录。
77.oauth服务器通过接收到错误的短信验证码或者未接收到验证码即可判断第二客户端是异常登录。
78.本技术采用与第一次登录方式不同的验证方式同时识别两个客户端的登录状态,能够准确识别出哪一个客户端是异常登录,哪一个客户端是正常登录,而不是默认为第二次登录的客户端是异常登录,相比较现有技术而言,本技术更加能够对用户的正常登录行为提供保障。
79.在一个实施例中:所述方法还包括步骤。
80.s106(图未示),当所述oauth服务器判断所述第二客户端为异常登录时,所述oauth服务器删除所述第二客户端的第一访问令牌,并销毁与所述第二客户端建立的全局会话,同时向所述第二客户端上所有基于所述第一访问令牌注册的应用发起注销请求,以使所述第二客户端上的应用销毁与所述第二客户端建立的局部会话。
81.通过上述技术方案,当oauth服务器接收到一个已经登录过的账户从另一客户端发送的登录请求时,对两个客户端的登录状态进行验证,根据两个客户端的反馈信息判断登录状态,将异常登录的客户端的账户登出,防止用户的数据信息继续处于泄漏状态。
82.在一个实施例中:所述方法还包括步骤。
83.s107(图未示),当所述oauth服务器判断所述第一客户端为正常登录时,所述oauth服务器生成第二访问令牌并向第一客户端返回第二访问令牌,以使所述第一客户端上的第一应用向所述oauth服务器发送第二登录申请,所述第二登录申请包括第二访问令牌,所述oauth服务器验证所述第二访问令牌正确,向所述第一应用返回第三访问令牌,所述第三访问令牌包括普通用户权限信息与所述第一应用的标识,以使所述第一应用根据第三访问令牌与所述第一客户端建立局部会话。
84.需要说明的是,在上述实施例中,第一客户端、第二客户端并不代表两个客户端,也可以代表多个客户端,具体而言,本技术的方法是判断出当有相同账户在多个客户端同时处于登录状态时,oauth服务器可以对每一个客户端的登录状态进行验证,给予正常登录的客户端第二访问令牌,将异常登录的客户端登出。
85.所以步骤s106并不仅是第二客户端为异常登录时,oauth服务器的处理过程,而是所有被判断为异常登录的客户端,oauth服务器都作同样的处理;同理,步骤s107也不仅是第一客户端为正常登录时,oauth服务器的处理过程,而是所有被oauth服务器判断为正常登录的客户端,oauth服务器都作同样的处理。
86.作为一种可能的实现方式,多个客户端都被oauth服务器判断为正常登录时,多个
账户可以同时在多端登录,多个客户端都被oauth服务器判断为异常登录时,多个客户端都会被登出。
87.在一个实施例中:所述方法还包括。
88.所述oauth服务器记录第二客户端的异常登录信息,所述oauth服务器接收所述第一客户端的异常登录查询请求,向所述第一客户端发送所述第二客户端的异常登录信息。
89.可以理解的是,当一个普通用户使用自己的账户在第一客户端正常登录账户时,遇到二次验证就会明白自己的账户在第二客户端登录了,如果这个普通用户认为第二客户端是异常登录,就可以通过向oauth服务器发送异常登录查询请求,所述oauth服务器向第一客户端发送所述第二客户端的异常登录信息,所述异常登录信息包括第二客户端登录的方式,比如用户名账号登录、密保问题登录、手机验证码登录等。
90.通过采用上述技术方案,普通用户可以知道第二客户端的异常登录方式,并能够了解自己的哪些信息被泄漏,进而及时修改被泄露的信息。
91.比如,普通用户了解到第二客户端是通过用户名账号登录的,就可以及时修改用户名和密码。
92.在一个实施例中:所述方法还包括。
93.所述oauth服务器接收所述第一应用发送的权限变更请求,所述权限变更请求包括第三访问令牌,所述oauth服务器验证第三访问令牌正确,所述oauth服务器根据所述第一应用的标识与预先存储的应用标识租户关系表确定所述第一应用对应的第一租户,所述oauth服务器向所述第一应用发送触发请求,所述触发请求包括第一租户设置的权限变更条件,所述oauth服务器接收所述第一应用基于所述权限变更条件发送的反馈信息,所述oauth服务器确定所述反馈信息与预设的标准信息一致,所述oauth向所述第一应用返回第三访问令牌,所述第三访问令牌包括变更后的权限信息。
94.通过采用上述技术方案,oauth服务器通过预设的权限变更条件,向第一应用下发变更通知信息,以进行权限变更,相较于手动权限变更,实现了变更高效、及时。
95.需要说明的是,oauth服务器通过rbac权限模型设置权限,在oauth服务器内设置有fiioauth用户系统,如图2所示,权限的初始设置过程流程包括以下步骤。
96.超级管理员登录fiioauth用户系统,添加应用信息并预设应用管理员及管理员角色,超级管理员退出登录。
97.应用管理员登录fiioauth用户系统,添加应用角色或权限信息,为普通用户设置角色或权限,应用管理员退出登录。
98.普通用户单点登录至第一应用,第一应用从用户信息返回中获取其角色及权限信息,第一应用对用户操作做权限控制,结束。
99.其中,第一应用设置在第一客户端上,普通用户第一次单点登录第一应用获取权限的过程如图3所示。
100.普通用户通过第一应用向oauth服务器发送单点登录请求,单点登录请求包括第一账户信息,oauth服务器验证第一账户信息正确,向第一应用返回第二访问令牌,第一应用通过第二访问令牌向oauth服务器请求获取用户信息,oauth服务器验证所述第二访问令牌正确,向所述第一应用返回第三访问令牌,所述第三访问令牌包括普通用户权限信息。
101.需要说明的,超级管理员还在oauth服务器中加入了部门管理,而且使用了rba实
施面向企业安全策略的有效访问控制方式来设计角色权限模块,使应用对用户的权限管控得更加强有力。
102.而且,用户数据,部门数据,角色权限数据均支持在fiioauth用户系统导入和第一应用凭有效令牌远程导入的方式录入fiioauth用户系统,更加方便用户信息维护。
103.其中,应用管理员即租户,多个应用管理员即为多个租户,oauth服务器支持不同租户的用户数据对接,支持为不同应用提供第三方对接服务。
104.每个租户可以登录fiioauth用户系统主动设置旗下的应用和普通用户的角色、信息和权限。
105.每个租户还可以根据旗下普通用户的权限变更申请,对普通用户的权限进行变更,但是如果多个普通用户同时发出权限变更申请,租户需要根据多个普通用户的权限变更请求一一对应进行处理,效率会很低。
106.作为一种可能的实现方式,租户可以在oauth服务器内设置好权限变更条件,当普通用户通过第一应用向oauth服务器发送权限变更请求的时候,oauth服务器直接将变更权限需要的条件返回给普通用户,比如需要普通用户输入相应的问题答案,充值等方式,普通用户满足权限变更要求以后,通过所述第一应用向所述oauth服务器反馈信息,所述oauth服务器确定所述反馈信息与预设的标准信息一致,向所述第一应用返回第三访问令牌,所述第三访问令牌包括变更后的权限信息。
107.可以理解的是,权限信息变更后,oauth服务器更新数据库。
108.需要说明的是,用户登录之后的session数据将缓存在redis当中供集群其他节点使用。
109.如图4所示,作为一种可能实现的方式,oauth服务器结合微服务的强大优势,扩展了集群部署配置,在集群部署时采取微服务架构进行部署,做到自动熔断,自动选择最优节点提供服务,避免在高并发情况下可能出现的宕机与响应缓慢等情况。
110.第一客户端通过第一反向代理服务器向认证服务器集群发送登录请求,登录请求包括第一账户信息,登录认证服务器集群验证第一账户信息正确,通过第一反向代理服务器向第一客户端返回第二访问令牌,第一客户端通过第二访问令牌和第二反向代理服务器向服务网关集群请求获取用户在某个微服务上的权限信息,服务网关集群向认证服务器集群请求校验第二访问令牌的有效性,认证服务器集群向服务器网关集群返回校验结果,若第二访问令牌无效,服务器网关集群放弃第一客户端的请求并提示认证无效,若第二访问令牌有效,服务器网关集群放行第一客户端的请求,允许第一客户端登录微服务,微服务通过服务网关集群、第二反向代理服务器向第一客户端返回第三访问令牌。
111.作为一种可能的实现方式,微服务也可以访问认证服务器集群进行第二访问令牌的二次校验。
112.本技术实施例提供一种oauth服务器10,如图5所示,所述oauth服务器10包括:
113.通信单元101,用于接收所述第一客户端发送的第一登录申请,所述第一登录申请包括普通用户的第一账户信息;
114.存储器102,用于存储第一账户信息、第二账户信息、设定的标准验证信息;
115.处理器103,分别与所述通信单元101、所述存储器102连接,用于对所述第一账户信息进行认证,确定所述第一账户信息正确,基于所述第一账户信息用于确定所述普通用
户在第二客户端处于登录状态;
116.所述通信单元101用于向所述第一客户端发送第一验证请求;所述通信单元101用于接收所述第一客户端基于所述第一验证请求发送的第二账户信息;
117.所述通信单元101用于向第二客户端发送第二验证请求;所述通信单元101用于接收所述第二客户端基于所述第二验证请求发送的所述第三账户信息;
118.所述处理器103还用于将所述第二账户信息、所述第三账户信息分别与存储器102中设定的标准验证信息进行比对,所述处理器103用于根据比对结果确定所述第一客户端与所述第二客户端的登录状态,所述登录状态包括异常登录与正常登录。
119.处理器103可以是中央处理单元(central processing unit,cpu),还可以包括其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。
120.存储器102可用于存储计算机程序和/或模块/单元,处理器103通过运行或执行存储在存储器102内的计算机程序和/或模块/单元,以及调用存储在存储器102内的数据,实现各种功能。存储器102可以包括外部存储介质,也可以包括内存。此外,存储器102可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
121.在一个实施例中:所述存储器102还用于存储第二客户端的第一访问令牌、处理器103与第二客户端的全局会话,所述处理器103用于判断所述第二客户端为异常登录时,所述处理器103还用于删除所述第一访问令牌,并销毁所述全局会话,同时通过通信单元101向所述第二客户端上所有用所述第一访问令牌注册的应用发起注销请求,以使所述第二客户端上的应用销毁与所述第二客户端建立的局部会话。
122.在一个实施例中:所述存储器102还用于存储第一客户端的第二访问令牌,所述处理器103用于判断所述第一客户端为正常登录时,所述处理器103还用于生成第二访问令牌并通过通信单元101向第一客户端返回第二访问令牌,以使所述第一客户端上的第一应用向所述通信单元101发送第二登录申请,所述第二登录申请包括第二访问令牌,所述处理器103还用于验证所述第二访问令牌正确,生成第三访问令牌并通过通信单元101向所述第一应用返回第三访问令牌,所述第三访问令牌包括普通用户权限信息与所述第一应用的标识,以使所述第一应用根据第三访问令牌与所述第一客户端建立局部会话。
123.在一个实施例中:所述存储器102还用于存储应用租户关系表、权限变更条件、预设的标准信息,所述通信单元101用于接收所述第一应用发送的权限变更请求,所述权限修改请求包括第三访问令牌,所述处理器103还用于验证第三访问令牌正确,所述处理器103用于根据所述第一应用的标识与存储的应用-租户关系表确定所述第一应用对应的第一租户,所述通信单元101还用于向所述第一应用发送触发请求,所述触发请求包括第一租户设置的所述权限变更条件,所述通信单元101用于接收所述第一应用基于所述权限变更条件发送的反馈信息,所述处理器103用于确定所述反馈信息与预设的标准信息一致,根据所述权限变更请求变更权限。
124.本技术的一个实施例提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被所述oauth服务器10执行时实现上述的方法。
125.可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术实现所述实施例方法中的全部或部分流程,也可以通过计算机可读程序指令相关的硬件来完成,所述的计算机可读程序指令可存储于一计算机可读存储介质中,所述计算机可读程序指令在被处理器103执行时,可实现所述各个方法实施例的步骤。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
126.此处描述的计算机可读程序指令可以从计算机可读存储介质下载到相应的计算处理设备,或者通过网络(例如,互联网,局域网,广域网和网络)下载到外部计算机或外部存储设备或无线网络。该网络可以包括铜传输电缆、光传输纤维、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器,每个计算处理设备中的网络适配器卡或网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令以存储在各个计算处理设备内的计算机可读存储介质中。
127.用于执行本发明的操作的计算机可读程序指令可以是汇编程序指令,指令集架构(isa)指令,机器指令,机器相关指令,微码,固件指令,状态设置数据,集成电路的配置数据,或以一种或多种编程语言(包括面向对象的编程语言,例如smalltalk,c++等)和过程编程语言(例如“c”编程语言或类似编程)的任意组合编写的源代码或目标代码语言。计算机可读程序指令可以完全在普通用户计算机上,部分在普通用户计算机上,作为独立软件包执行,部分在普通用户计算机上并且部分在远程计算机上或完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可以通过任何类型的网络(包括局域网(lan)或广域网(wan))连接到普通用户计算机,或者可以与外部计算机建立连接(用于例如,通过使用internet服务提供商的internet)。在一些实施例中,包括例如可编程逻辑电路,现场可编程门阵列(fpga)或可编程逻辑阵列(pla)的电子电路可以通过利用计算机可读程序指令的状态信息来个性化计算机可读程序指令。
128.附图中的流程图和框图示出了根据本发明的各种实施例的装置,方法和计算机程序产品的可能实现的体系结构,功能和操作。就这一点而言,流程图或框图中的每个方框可以代表指令的模块,片段或部分,其包括用于实现指定的逻辑功能的一个或多个可执行指令。在一些替代实施方式中,方框中指出的功能可以不按图中指出的顺序发生。例如,取决于所涉及的功能,实际上可以基本上同时执行连续示出的两个框,或者有时可以以相反的顺序执行这些框。还应注意,框图和/或流程图的每个方框以及框图和/或流程图的方框的组合可以由执行指定功能或动作或基于特定目的的基于硬件的专用系统来实现。
129.已经出于说明的目的给出了本发明的各种实施例的描述,但并不意图是穷举的或将本发明限制为所公开的形式。在不脱离本发明的范围和精神的情况下,许多修改和变化对于本领域普通技术人员将是显而易见的。选择和描述实施例是为了最好地解释本发明的原理和实际应用,并使本领域的其他普通技术人员能够理解本发明的各种实施例,这些实施例具有各种适合于预期的特定用途的修改。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1