CN115834252B - 一种服务访问方法及系统 - Google Patents
一种服务访问方法及系统 Download PDFInfo
- Publication number
- CN115834252B CN115834252B CN202310111847.6A CN202310111847A CN115834252B CN 115834252 B CN115834252 B CN 115834252B CN 202310111847 A CN202310111847 A CN 202310111847A CN 115834252 B CN115834252 B CN 115834252B
- Authority
- CN
- China
- Prior art keywords
- user
- platform
- session identifier
- request
- authentication service
- 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
Abstract
本发明公开了一种服务访问方法及系统,涉及计算机技术领域。该方法的一具体实施方式包括:通过用户管理平台获取第一访问请求,所述第一访问请求指示了待访问的目标服务以及用户对应的会话标识;根据所述会话标识,向认证服务平台发送令牌生成请求;通过所述认证服务平台根据所述令牌生成请求,生成与所述会话标识对应的一次性访问令牌;根据所述认证服务平台返回的所述一次性访问令牌,对所述目标服务进行访问。该实施方式提高了访问安全性,并降低了后台服务器的压力及其维护成本。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种服务访问方法及系统。
背景技术
目前企业的应用系统一般采用cookie+session的方式对用户身份进行验证,由于session ID存放在cookie中,可能导致用户访问应用系统时受到CSRF(Cross SiteRequest Forgery, 跨站域请求伪造)攻击,从而降低访问安全性。并且,随着企业自身的应用系统及其对接的第三方服务系统逐渐增多,这种cookie+session的方式需要服务端存放大量session ID,从而导致后台服务器压力较大,增加了后台服务器的维护成本。
发明内容
有鉴于此,本发明实施例提供一种服务访问方法及系统,在用户管理平台获取到用户的第一访问请求后,向认证服务平台发送令牌生成请求,使得认证服务平台根据用户的令牌生成请求生成一次性访问令牌,然后用户管理平台可根据该一次性访问令牌访问目标服务。由此实现了通过一次性访问令牌访问对接平台提供的目标服务,相对于现有cookie+session的方式,有效避免了CSRF攻击,从而提高了访问安全性。并且,采用一次性访问令牌对用户进行验证,也无需用户管理平台存储大量session ID,从而降低后台服务器的压力及其维护成本。
为实现上述目的,根据本发明实施例的一个方面,提供了一种服务访问方法。
本发明实施例的一种服务访问方法包括:通过用户管理平台获取用户发送的第一访问请求,所述第一访问请求指示了待访问的目标服务以及所述用户对应的会话标识;
根据所述会话标识,向认证服务平台发送令牌生成请求;
通过所述认证服务平台根据所述令牌生成请求,生成与所述会话标识对应的一次性访问令牌;
根据所述认证服务平台返回的所述一次性访问令牌,对所述目标服务进行访问。
可选地,所述根据所述认证服务平台返回的所述一次性访问令牌,对所述目标服务进行访问,包括:
通过所述用户管理平台根据所述一次性访问令牌,向提供所述目标服务的对接平台发送第二访问请求;
利用所述对接平台中的拦截器对所述第二访问请求进行拦截,并请求所述认证服务平台对所述一次性访问令牌进行验证;
在所述认证服务平台验证通过的情况下,所述对接平台允许所述用户访问所述目标服务。
可选地,在所述认证服务平台验证不通过的情况下,还包括:
通过所述对接平台将验证不通过的结果返回给所述用户管理平台,以使所述用户管理平台的前端根据所述校验不通过的结果进行页面展示。
可选地,所述请求所述认证服务平台对所述一次性访问令牌进行验证,包括:
通过所述对接平台向所述认证服务平台发送校验请求,所述校验请求包括所述一次性访问令牌;
通过所述认证服务平台根据所述校验请求,确定所述一次性访问令牌对应的会话标识,并判断所述会话标识对应的会话是否有效;
在所述会话有效的情况下,确定所述一次性访问令牌校验通过。
可选地,在生成与所述会话标识对应的一次性访问令牌之后,还包括:对应存储所述会话标识和所述一次性访问令牌;
在所述认证服务平台对所述一次性访问令牌进行验证之后,还包括:删除存储的所述一次性访问令牌。
可选地,在所述目标服务为第三方对接服务的情况下,执行所述根据所述会话标识,向认证服务平台发送令牌生成请求。
可选地,在所述目标服务为内部服务的情况下,还包括:
请求所述认证服务平台对所述会话标识进行验证;
在验证通过的情况下,允许所述用户访问所述目标服务;
在验证不通过的情况下,通过所述用户管理平台的前端根据所述校验不通过的结果进行页面展示。
可选地,在所述根据所述会话标识,向认证服务平台发送令牌生成请求之前,还包括:
确定所述会话标识对应的登录会话的数量;
在所述数量超过预设数量阈值的情况下,关闭所述登录会话中登录时长最大的登录会话。
可选地,该方法还包括:
通过用户管理平台获取用户发送的登录请求,并根据所述登录请求向所述认证服务平台发送身份校验请求;
通过所述认证服务平台根据所述身份校验请求校验所述用户是否为实名用户和/或OA用户,在校验通过的情况下,生成所述用户对应的会话标识,并将所述会话标识发送给所述用户管理平台。
为实现上述目的,根据本发明实施例的又一方面,提供了一种服务访问系统。
本发明实施例的一种服务访问系统包括:用户管理平台和认证服务平台;其中,
所述用户管理平台,用于获取用户发送的第一访问请求,所述第一访问请求指示了待访问的目标服务以及所述用户对应的会话标识;根据所述会话标识,向所述认证服务平台发送令牌生成请求;根据所述认证服务平台返回的一次性访问令牌,对所述目标服务进行访问;
所述认证服务平台,用于根据所述令牌生成请求,生成与所述会话标识对应的所述一次性访问令牌。
为实现上述目的,根据本发明实施例的又一方面,提供了一种访问服务的电子设备。
本发明实施例的一种访问服务的电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明实施例的一种服务访问方法。
为实现上述目的,根据本发明实施例的再一方面,提供了一种计算机可读存储介质。
本发明实施例的一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现本发明实施例的一种服务访问方法。
上述发明中的一个实施例具有如下优点或有益效果:在用户管理平台获取到用户的第一访问请求后,向认证服务平台发送令牌生成请求,使得认证服务平台根据用户的令牌生成请求生成一次性访问令牌,然后用户管理平台可根据该一次性访问令牌访问目标服务。由此实现了通过一次性访问令牌访问对接平台提供的目标服务,相对于现有cookie+session的方式,有效避免了CSRF攻击,从而提高了访问安全性。并且,采用一次性访问令牌对用户进行验证,也无需用户管理平台存储大量sessionID,从而降低后台服务器的压力及其维护成本。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是根据本发明实施例的一种服务访问方法的主要步骤的示意图;
图2是根据本发明实施例的一种服务访问方法中身份验证的主要步骤的示意图;
图3是根据本发明实施例的一种服务访问方法中对接服务验证的主要步骤的示意图;
图4是根据本发明实施例的一种服务访问方法中内部服务验证的主要步骤的示意图;
图5是根据本发明实施例的一种服务访问系统的主要模块的示意图;
图6是本发明实施例可以应用于其中的示例性系统架构图;
图7是适于用来实现本发明实施例的终端设备或服务器的计算机系统的结构示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
需要指出的是,在不冲突的情况下,本发明的实施例以及实施例中的技术特征可以相互结合。
图1是根据本发明实施例的一种服务访问方法的主要步骤的示意图。
如图1所示,本发明实施例的一种服务访问方法主要包括以下步骤:
步骤S101:通过用户管理平台获取第一访问请求,所述第一访问请求指示了待访问的目标服务以及用户对应的会话标识。
在获取第一访问请求之前,用户需要登录用户管理平台,在用户通过身份校验之后,用户可以成功登录用户管理平台,进而访问用户管理平台提供的内部服务及其对接的第三方服务。在本发明一个实施例中,通过用户管理平台获取用户发送的登录请求,并根据所述登录请求向所述认证服务平台发送身份校验请求;通过所述认证服务平台根据所述身份校验请求校验所述用户是否为实名用户和/或OA用户,在校验通过的情况下,生成所述用户对应的会话标识,并将所述会话标识发送给所述用户管理平台。
其中,用户管理平台可以基于RBAC(Role-Based Access Control,基于角色的访问控制)模型改进扩展得到。用户管理平台的用户需进行实名认证,例如,自然人用户根据自身的姓名和身份证等信息进行实名制认证,企业用户可以根据企业名称和统一社会信用代码等信息进行实名制认证。用户在实名制认证后,可以再进行用户管理平台内部的用户身份认证,比如在用户管理平台的OA(Office Automation,办公自动化)系统进行身份认证,然后对不同身份的用户进行按需授权,以实现对用户角色多维属性的控制,如所属机构、所属应用和所属类型(管理员和业务员等)等多维属性的控制。用户管理平台可以支持权限分层管理、逐级授权、管理权限与操作权限分离等功能。比如说,用户管理平台可以为不同身份的用户分配不同角色,然后针对不同角色进行分层授权,在上层的用户得到授权后,可以继续为其对应的下层用户进行授权,以实现逐级授权。用户管理平台的权限资源支持全局资源和局部资源,不同权限的用户角色可以访问不同的资源。例如,用户管理平台可以为金融类资源平台,其中全局资源可以为京沪深证券结算市场数据和敏感数据的所有资源,局部资源则为其中的部分资源,由此,通过权限资源的分层管理可以满足在同一页面中精细化管理京沪深证券结算市场数据和敏感数据的数据权限管理,也就是说,不同权限的用户可访问全局资源或不同局部资源,从而丰富了权限粒度属性。
用户在身份认证并获得授权后可使用其对应的账号密码登录用户管理平台时,此时通过用户管理平台获取用户发送的登录请求,并根据登录请求向认证服务平台发送身份校验请求;通过认证服务平台根据身份校验请求校验所述用户是否为实名用户和/或OA用户,在校验通过的情况下,生成所述用户对应的会话标识,并将所述会话标识发送给所述用户管理平台。
实现本发明实施例的服务访问方法的服务访问系统可以包括用户管理平台的前端、用户管理平台的后端、认证服务平台和OA系统,其中,用户管理平台、认证服务平台和OA系统可以集成设置,也可以分别部署于不同服务器。
如图2所示,用户通过浏览器访问用户管理平台的登录页面后,可输入其对应的账号密码,以通过用户管理平台的前端发起登录请求,用户管理平台的前端在判断出用户密码校验失败次数小于预设阈值(如5次)时,可根据该登录请求向认证服务平台发送身份校验请求,认证服务平台可以对该用户是否为实名用户和/或OA用户进行校验,例如,认证服务平台首先判断此用户是否为OA用户,如果是,认证服务平台向OA系统发起校验请求,以校验该OA用户的账户密码,OA系统在校验通过后将结果返回给认证服务平台,认证服务平台则根据校验通过的结果生成该用户对应的会话标识authS id,然后将该会话标识authSid返回给用户管理平台的前端,使得用户管理平台的前端将会话标识authSid存储在本地内存中,并配置至请求默认header,此时用户成功登录用户管理平台,用户管理平台的前端即跳转至用户首页,由此实现OA用户的校验,可以理解的是,若用户管理平台的前端验证失败次数不小于预设阈值,那么可直接向用户展示登录失败的提示消息。另外,若认证服务平台确定出该用户并非OA用户,那么可直接校验用户的账号密码,若校验通过则生成会话标识authS id,若校验失败则向前端返回错误码并累加校验失败次数,并将累加的校验失败次数返回前端,以便前端在下一次接收到登录请求后对失败次数进行校验。由此,企业实名系统(OA系统)的用户在内部用户管理平台注册完成后,可以直接使用OA用户名和密码进行登录。认证服务平台识别出此用户名为OA用户后,将用户身份信息提交给OA系统进行身份验证,验证通过后可以正常登入系统。
继续参考图2,在确认OA用户登录成功后,用户管理平台还可进一步对用户是否为实名管理员进行校验。具体地,用户管理平台的前端通过会话标识authSid向用户管理平台的后端请求用户信息。后端的拦截器拦截到请求后,获取请求header中的会话标识authSid并向认证服务平台发起校验。认证服务平台校验会话标识authS id成功后将结果及用户编码返回给用户管理平台后端,用户管理平台的后端接收到校验成功的结果后,根据用户编码查询出用户信息返回给用户管理平台的前端。然后用户管理平台的前端根据用户信息判断此用户是否为未实名的管理员用户,如果该用户为已实名的管理员用户,那么用户管理平台的前端可确定登录成功并跳转至用户首页,若该用户为未实名的管理员用户,那么用户管理平台的前端弹出实名制认证窗口,使得用户输入OA用户名和密码,然后前端根据OA用户名和密码向后端发起实名制认证请求,用户管理平台的后端接收到实名制认证请求后向OA系统发起请求,OA系统校验通过后将结果返回给用户管理平台后端,然后后端根据OA系统校验通过的结果完成管理员用户的实名制并通知前端,此时前端确认管理员用户登录成功并跳转至用户首页。由此,管理员用户在内部用户管理平台登录成功后,系统后端会检验此管理员是否已经绑定一名OA用户,如尚未绑定,则会弹窗提示此管理员实名制,否则无法使用系统。管理员输入OA用户名和密码并提交后,内部用户管理平台后端会将用户身份信息提交给OA系统进行身份验证,验证通过后将此OA用户与该管理员绑定。
通过上述实施例,本发明实现了用户实名认证和内部OA身份认证,有效核实用户身份,以满足企业对实名认证业务的数据形式和数据质量日益增高的要求。
用户在成功登录后,可通过用户管理平台的前端展示的链接或服务模块发起第一访问请求,该第一访问请求即指示了待访问的目标服务(如内部服务或者对接的第三方服务),第一访问请求中还包括登录验证过程中生成的会话标识authS id。在通过用户管理平台的前端访问系统内部功能及系统对接的第三方服务时,可采取不同的验证方式。在本发明一个实施例中,在用户访问对接的第三方服务时,采用一次性令牌的访问方式,而在用户访问内部服务时,则直接验证会话标识authSid。
步骤S102:根据所述会话标识,向认证服务平台发送令牌生成请求。
步骤S103:通过所述认证服务平台根据所述令牌生成请求,生成与所述会话标识对应的一次性访问令牌。
步骤S104:根据所述认证服务平台返回的所述一次性访问令牌,对所述目标服务进行访问。
如上所述,在用户待访问的目标服务为第三方对接服务的情况下,采用一次性令牌的访问方式,此时用户管理平台的后端获取到第一访问请求中的会话标识后,会使用该会话标识向认证服务平台发送令牌生成请求。具体地,用户管理平台的首页可展示多个对接平台的访问链接,如用户管理平台为金融类系统时,其对接的第三方平台可以包括风险管控平台、登录授权平台和评价系统等。当用户登录后在用户管理平台的首页触发相应访问链接时,用户管理平台的前端在进行功能跳转之前,会向后端请求一次性访问令牌。后端获取到令牌生成请求header中的authSid之后会使用该authSid向认证服务平台发起请求,认证服务平台在对会话标识authS id进行校验后,如校验该会话标识authS id对应的权限和用户登录状态等,在校验通过后生成该会话标识对应的一次性访问令牌oneTimeToken,然后将一次性访问令牌oneTimeToken返回给用户管理平台,后端再将oneTimeToken返回给前端,接着前端将接收到的oneTimeToken作为参数传给对接平台进行访问,该过程可如图3所示。
继续参考图3,在本发明一个实施例中,用户管理平台根据所述一次性访问令牌,向提供所述目标服务的对接平台发送第二访问请求,利用所述对接平台中的拦截器对所述第二访问请求进行拦截,并请求所述认证服务平台对所述一次性访问令牌进行验证;在所述认证服务平台验证通过的情况下,所述对接平台允许所述用户访问所述目标服务。
在此实施例中,用户管理平台接收到认证服务平台发送的一次性访问令牌oneTimeToken后,前端将一次性访问令牌oneTimeToken作为请求参数注入对接平台功能的URL中,以向对接平台发送第二访问请求。对接平台的拦截器对第二访问请求进行拦截,并确认第二访问请求中包括oneTimeToken后,向认证服务中心请求校验此oneTimeToken是否有效。在本发明一个实施方式中,一次性访问令牌oneTimeToken的校验过程可以通过以下方式实现:通过所述对接平台向所述认证服务平台发送校验请求,所述校验请求包括所述一次性访问令牌;通过所述认证服务平台根据所述校验请求,确定所述一次性访问令牌对应的会话标识,并判断所述会话标识对应的会话是否有效;在所述会话有效的情况下,确定所述一次性访问令牌校验通过。
在这里,认证服务平台在生成一次性访问令牌后,可对应存储所述会话标识和所述一次性访问令牌,以便于在接收到校验请求后,根据会话标识对一次性访问令牌进行校验。具体地,在接收到校验请求并解析出oneTimeToken后,可根据接收到的oneTimeToken查找对应的会话标识来判断相应的会话是否有效,若能查找到oneTimeToken对应的会话标识且相应的会话有效,那么此oneTimeToken校验通过,并将结果返回给对接平台。相反地,若未能查找到oneTimeToken对应的会话标识或者会话失效,那么则确定oneTimeToken校验不通过。值得注意的是,oneTimeToken是一次性令牌,因此无论校验结果如何,认证服务平台均会删除存储的oneTimeToken。由此,若下一次校验请求携带相同的oneTimeToken,则认证服务平台会由于无法查找到该oneTimeToken对应的会话标识而确定校验失败。
在认证服务平台验证oneTimeToken通过的情况下,对接平台根据认证服务平台验证通过的结果,放行已拦截的第二访问请求,以允许用户访问目标服务。若认证服务平台校验oneTimeToken不通过,对接平台在接收到认证服务平台校验不通过的结果后,将验证不通过的结果返回给用户管理平台,使得用户管理平台的前端根据校验不通过的结果进行页面展示。例如,在校验不通过的情况下,对接平台可携带认证服务平台返回的异常码跳转至用户管理平台的异常处理页面,使得用户管理平台的前端统一处理鉴权异常。不同异常码对应的异常详情及前端处理方案可如下表1所示:
表1
从上表1可以看出,在本发明实施例中,除了对登录状态及权限进行校验,还会对会话进程的数量进行校验。具体地,用户管理平台可以在向认证服务平台发送令牌生成请求之前,确定会话标识authS id对应的登录会话的数量;在所述数量超过预设数量阈值(如5)的情况下,关闭所述登录会话中登录时长最大的登录会话。
在此实施例中,用户可通过不同终端进行功能访问或者操作,因此同一用户可能对应有多个会话。为了有效对多用户终端的在线情况进行管理,在本发明实施例中,在登录成功后,每当用户访问功能或进行操作时,用户管理平台后端配置的拦截器会拦截前端请求并校验请求header中附带的会话标识authS id,由此,在确认出authS id对应的会话有效且该authS id对应的会话数量已经超过预设数量阈值(如5)时,则用户管理平台根据多个会话的时间顺序关闭最早的会话并弹出提示,也就是说,会将登陆会话中登陆时长最大的会话关闭,以保证每个用户始终不超过5个会话。
另外,若用户想访问的目标服务为内部服务,本发明实施例采用验证会话标识的方式进行验证。具体地,在目标服务为内部服务的情况下,用户管理平台请求认证服务平台对会话标识进行验证;在验证通过的情况下,允许所述用户访问所述目标服务;在验证不通过的情况下,通过用户管理平台的前端根据所述校验不通过的结果进行页面展示。
如图4所示,若用户通过用户管理平台前端访问其内部功能时,用户管理平台后端配置的拦截器拦截到前端请求header中的会话标识authS id,并向认证服务平台发起验证请求,认证服务平台若验证出会话标识authS id有效,则将验证通过结果即用户编码返回给用户管理平台后端,那么用户管理平台后端则根据校验通过结果放行被拦截的请求,使得用户访问管理平台自身的内部服务。若认证服务平台校验出会话标识失效,则将校验不通过的结果及对应的异常码返回给用户管理平台后端,并使得用户管理平台的前端按照异常码进行相应的跳转处理。不同异常码对应的异常详情及前端处理方案可如下表2所示:
表2
根据本发明实施例的一种服务访问方法可以看出,在用户管理平台获取到用户的第一访问请求后,向认证服务平台发送令牌生成请求,使得认证服务平台根据用户的令牌生成请求生成一次性访问令牌,然后用户管理平台可根据该一次性访问令牌访问目标服务。由此实现了通过一次性访问令牌访问对接平台提供的目标服务,相对于现有cookie+session的方式,有效避免了CSRF攻击,从而提高了访问安全性。并且,采用一次性访问令牌对用户进行验证,也无需用户管理平台存储大量session ID,从而降低后台服务器的压力及其维护成本。
图5是根据本发明实施例的一种服务访问系统的主要模块的示意图。
如图5所示,本发明实施例的一种服务访问系统500包括:用户管理平台501和认证服务平台502;其中,
所述用户管理平台501,用于获取第一访问请求,所述第一访问请求指示了待访问的目标服务以及用户对应的会话标识;根据所述会话标识,向所述认证服务平台502发送令牌生成请求;根据所述认证服务平台502返回的一次性访问令牌,对所述目标服务进行访问;
所述认证服务平台502,用于根据所述令牌生成请求,生成与所述会话标识对应的所述一次性访问令牌。
在本发明一个实施例中,该服务访问系统500还包括对接平台503,其中,所述用户管理平台501,用于根据所述一次性访问令牌,向提供所述目标服务的对接平台503发送第二访问请求;
对接平台503,用于通过拦截器对所述第二访问请求进行拦截,并请求所述认证服务平台502对所述一次性访问令牌进行验证;在所述认证服务平台验证通过的情况下,允许所述用户访问所述目标服务。
在本发明一个实施例中,所述对接平台503,还用于在认证服务平台验证不通过的情况下,将验证不通过的结果返回给所述用户管理平台501,以使所述用户管理平台501的前端根据所述校验不通过的结果进行页面展示。
在本发明一个实施例中,所述对接平台503,用于向所述认证服务平台502发送校验请求,所述校验请求包括所述一次性访问令牌;
所述认证服务平台502,用于根据所述校验请求,确定所述一次性访问令牌对应的会话标识,并判断所述会话标识对应的会话是否有效;在所述会话有效的情况下,确定所述一次性访问令牌校验通过。
在本发明一个实施例中,所述认证服务平台502,还用于在生成与所述会话标识对应的一次性访问令牌之后,对应存储所述会话标识和所述一次性访问令牌;对所述一次性访问令牌进行验证之后,删除存储的所述一次性访问令牌。
在本发明一个实施例中,用户管理平台501,用于在所述目标服务为第三方对接服务的情况下,根据所述会话标识,向认证服务平台502发送令牌生成请求。
在本发明一个实施例中,用户管理平台501,用于在所述目标服务为内部服务的情况下,请求所述认证服务平台502对所述会话标识进行验证;在验证通过的情况下,允许所述用户访问所述目标服务;在验证不通过的情况下,通过所述用户管理平台的前端根据所述校验不通过的结果进行页面展示。
在本发明一个实施例中,用户管理平台501,还用于确定所述会话标识对应的登录会话的数量;在所述数量超过预设数量阈值的情况下,关闭所述登录会话中登录时长最大的登录会话。
在本发明一个实施例中,用户管理平台501,用于获取用户发送的登录请求,并根据所述登录请求向所述认证服务平台502发送身份校验请求;
所述认证服务平台502,用于根据所述身份校验请求校验所述用户是否为实名用户和/或OA用户,在校验通过的情况下,生成所述用户对应的会话标识,并将所述会话标识发送给所述用户管理平台501。
根据本发明实施例的一种服务访问系统可以看出,在用户管理平台获取到用户的第一访问请求后,向认证服务平台发送令牌生成请求,使得认证服务平台根据用户的令牌生成请求生成一次性访问令牌,然后用户管理平台可根据该一次性访问令牌访问目标服务。由此实现了通过一次性访问令牌访问对接平台提供的目标服务,相对于现有cookie+session的方式,有效避免了CSRF攻击,从而提高了访问安全性。并且,采用一次性访问令牌对用户进行验证,也无需用户管理平台存储大量session ID,从而降低后台服务器的压力及其维护成本。
图6示出了可以应用本发明实施例的服务访问方法或服务访问系统的示例性系统架构600。
如图6所示,系统架构600可以包括终端设备601、602、603,网络604和服务器605。网络604用以在终端设备601、602、603和服务器605之间提供通信链路的介质。网络604可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备601、602、603通过网络604与服务器605交互,以接收或发送消息等。终端设备601、602、603上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。
终端设备601、602、603可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器605可以是提供各种服务的服务器,例如对用户利用终端设备601、602、603所请求的金融数据提供支持的后台管理服务器。后台管理服务器可以对接收到的金融数据查询请求等数据进行分析等处理,并将处理结果(金融数据)反馈给终端设备。
需要说明的是,本发明实施例所提供的服务访问方法一般由服务器605执行。
应该理解,图6中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
下面参考图7,其示出了适于用来实现本发明实施例的终端设备的计算机系统700的结构示意图。图7示出的终端设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图7所示,计算机系统700包括中央处理单元(CPU)701,其可以根据存储在只读存储器(ROM)702中的程序或者从存储部分708加载到随机访问存储器(RAM)703中的程序而执行各种适当的动作和处理。在RAM 703中,还存储有系统700操作所需的各种程序和数据。CPU701、ROM 702以及RAM 703通过总线704彼此相连。输入/输出(I/O)接口705也连接至总线704。
以下部件连接至I/O接口705:包括键盘、鼠标等的输入部分706;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分707;包括硬盘等的存储部分708;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分709。通信部分709经由诸如因特网的网络执行通信处理。驱动器710也根据需要连接至I/O接口705。可拆卸介质711,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器710上,以便于从其上读出的计算机程序根据需要被安装入存储部分708。
特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分709从网络上被下载和安装,和/或从可拆卸介质711被安装。在该计算机程序被中央处理单元(CPU)701执行时,执行本发明的系统中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:通过用户管理平台获取第一访问请求,所述第一访问请求指示了待访问的目标服务以及用户对应的会话标识;根据所述会话标识,向认证服务平台发送令牌生成请求;通过所述认证服务平台根据所述令牌生成请求,生成与所述会话标识对应的一次性访问令牌;根据所述认证服务平台返回的所述一次性访问令牌,对所述目标服务进行访问。
根据本发明实施例的技术方案,在用户管理平台获取到用户的第一访问请求后,向认证服务平台发送令牌生成请求,使得认证服务平台根据用户的令牌生成请求生成一次性访问令牌,然后用户管理平台可根据该一次性访问令牌访问目标服务。由此实现了通过一次性访问令牌访问对接平台提供的目标服务,相对于现有cookie+session的方式,有效避免了CSRF攻击,从而提高了访问安全性。并且,采用一次性访问令牌对用户进行验证,也无需用户管理平台存储大量session ID,从而降低后台服务器的压力及其维护成本。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
Claims (10)
1.一种服务访问方法,其特征在于,包括:
通过用户管理平台获取用户发送的登录请求,并根据所述登录请求向认证服务平台发送身份校验请求;
通过所述认证服务平台根据所述身份校验请求校验所述用户是否为实名用户和/或OA用户,在校验通过的情况下,生成所述用户对应的会话标识,并将所述会话标识发送给所述用户管理平台,使得所述用户管理平台将所述会话标识存储在本地内存中;
通过用户管理平台获取第一访问请求,所述第一访问请求指示了待访问的目标服务以及用户对应的会话标识;
根据所述会话标识,向认证服务平台发送令牌生成请求;
通过所述认证服务平台根据所述令牌生成请求,生成与所述会话标识对应的一次性访问令牌;
根据所述认证服务平台返回的所述一次性访问令牌,对所述目标服务进行访问;具体包括:通过所述用户管理平台根据所述一次性访问令牌,向提供所述目标服务的对接平台发送第二访问请求;
利用所述对接平台中的拦截器对所述第二访问请求进行拦截,并请求所述认证服务平台对所述一次性访问令牌进行验证;其中包括:所述认证服务平台根据所述一次性访问令牌查找所述会话标识,若查找到所述会话标识且所述会话标识对应的会话有效,则确定所述一次性访问令牌验证通过;若未能查找到所述会话标识,则确定所述一次性访问令牌验证不通过;以及,所述认证服务平台在校验所述一次性访问令牌之后,删除所述一次性访问令牌;
在所述认证服务平台验证通过的情况下,所述对接平台允许所述用户访问所述目标服务。
2.根据权利要求1所述的方法,其特征在于,在所述认证服务平台验证不通过的情况下,还包括:
通过所述对接平台将验证不通过的结果返回给所述用户管理平台,以使所述用户管理平台的前端根据所述验证不通过的结果进行页面展示。
3.根据权利要求1所述的方法,其特征在于,所述请求所述认证服务平台对所述一次性访问令牌进行验证,包括:
通过所述对接平台向所述认证服务平台发送校验请求,所述校验请求包括所述一次性访问令牌;
通过所述认证服务平台根据所述校验请求,确定所述一次性访问令牌对应的会话标识,并判断所述会话标识对应的会话是否有效。
4.根据权利要求1至3任一所述的方法,其特征在于,
在生成与所述会话标识对应的一次性访问令牌之后,还包括:对应存储所述会话标识和所述一次性访问令牌。
5.根据权利要求1所述的方法,其特征在于,
在所述目标服务为第三方对接服务的情况下,执行所述根据所述会话标识,向认证服务平台发送令牌生成请求。
6.根据权利要求1所述的方法,其特征在于,在所述目标服务为内部服务的情况下,还包括:
请求所述认证服务平台对所述会话标识进行验证;
在验证通过的情况下,允许所述用户访问所述目标服务;
在验证不通过的情况下,通过所述用户管理平台的前端根据所述校验不通过的结果进行页面展示。
7.根据权利要求1所述的方法,其特征在于,在所述根据所述会话标识,向认证服务平台发送令牌生成请求之前,还包括:
确定所述会话标识对应的登录会话的数量;
在所述数量超过预设数量阈值的情况下,关闭所述登录会话中登录时长最大的登录会话。
8.一种服务访问系统,其特征在于,包括:用户管理平台、认证服务平台和对接平台;其中,
所述用户管理平台,用于获取用户发送的登录请求,并根据所述登录请求向所述认证服务平台发送身份校验请求;接收所述认证服务平台在校验通过后发送的会话标识,并将所述会话标识存储在本地内存中;获取第一访问请求,所述第一访问请求指示了待访问的目标服务以及用户对应的会话标识;根据所述会话标识,向所述认证服务平台发送令牌生成请求;根据所述认证服务平台返回的一次性访问令牌,对所述目标服务进行访问;具体包括:根据所述一次性访问令牌,向提供所述目标服务的对接平台发送第二访问请求;
所述对接平台,用于利用拦截器对所述第二访问请求进行拦截,并请求所述认证服务平台对所述一次性访问令牌进行验证;在所述认证服务平台验证通过的情况下,允许所述用户访问所述目标服务;
所述认证服务平台,用于根据所述身份校验请求校验所述用户是否为实名用户和/或OA用户,在校验通过的情况下,生成所述用户对应的会话标识,并将所述会话标识发送给所述用户管理平台;根据所述令牌生成请求,生成与所述会话标识对应的所述一次性访问令牌;在接收到所述对接平台发送的所述一次性访问令牌的验证请求时,根据所述一次性访问令牌查找所述会话标识,若查找到所述会话标识且所述会话标识对应的会话有效,则确定所述一次性访问令牌验证通过;若未能查找到所述会话标识,则确定所述一次性访问令牌验证不通过;以及,在校验所述一次性访问令牌之后,删除所述一次性访问令牌。
9.一种访问服务的电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一所述的方法。
10.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-7中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310111847.6A CN115834252B (zh) | 2023-02-09 | 2023-02-09 | 一种服务访问方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310111847.6A CN115834252B (zh) | 2023-02-09 | 2023-02-09 | 一种服务访问方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115834252A CN115834252A (zh) | 2023-03-21 |
CN115834252B true CN115834252B (zh) | 2023-05-26 |
Family
ID=85521317
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310111847.6A Active CN115834252B (zh) | 2023-02-09 | 2023-02-09 | 一种服务访问方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115834252B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104144167A (zh) * | 2014-08-15 | 2014-11-12 | 深圳市蜂联科技有限公司 | 一种开放式智能网关平台的用户登录认证方法 |
CN113204759A (zh) * | 2021-05-28 | 2021-08-03 | 北京市商汤科技开发有限公司 | 一种身份认证方法及装置、电子设备和存储介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101262346A (zh) * | 2008-01-22 | 2008-09-10 | 好旺角(厦门)电子科技有限公司 | 网络系统数据库的登录验证方法 |
US8990914B2 (en) * | 2012-09-28 | 2015-03-24 | Intel Corporation | Device, method, and system for augmented reality security |
CN110933078B (zh) * | 2019-11-29 | 2022-04-05 | 交通银行股份有限公司 | 一种h5未登录用户会话跟踪方法 |
CN111371811B (zh) * | 2020-04-23 | 2022-08-09 | Oppo广东移动通信有限公司 | 一种资源调用方法、资源调用装置、客户端及业务服务器 |
CN115333755A (zh) * | 2022-10-17 | 2022-11-11 | 四川中电启明星信息技术有限公司 | 一种基于持续信任评估的多属性身份认证方法 |
-
2023
- 2023-02-09 CN CN202310111847.6A patent/CN115834252B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104144167A (zh) * | 2014-08-15 | 2014-11-12 | 深圳市蜂联科技有限公司 | 一种开放式智能网关平台的用户登录认证方法 |
CN113204759A (zh) * | 2021-05-28 | 2021-08-03 | 北京市商汤科技开发有限公司 | 一种身份认证方法及装置、电子设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN115834252A (zh) | 2023-03-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10880292B2 (en) | Seamless transition between WEB and API resource access | |
CN108475312B (zh) | 用于装置安全外壳的单点登录方法 | |
TWI725958B (zh) | 雲端主機服務權限控制方法、裝置和系統 | |
US20190199707A1 (en) | Using a service-provider password to simulate f-sso functionality | |
US9548976B2 (en) | Facilitating single sign-on to software applications | |
CN107743702B (zh) | 托管移动设备的单点登录 | |
US9584615B2 (en) | Redirecting access requests to an authorized server system for a cloud service | |
WO2016173199A1 (zh) | 一种移动应用单点登录方法及装置 | |
US20140189123A1 (en) | Dynamically selecting an identity provider for a single sign-on request | |
JP2017535877A (ja) | 条件付きログインプロモーション | |
US20180091490A1 (en) | Authentication framework for a client of a remote database | |
CN110958237A (zh) | 一种权限校验的方法和装置 | |
US11379567B2 (en) | Establishing access sessions | |
CN112583834B (zh) | 一种通过网关单点登录的方法和装置 | |
US20220294788A1 (en) | Customizing authentication and handling pre and post authentication in identity cloud service | |
CN113055186B (zh) | 一种跨系统的业务处理方法、装置及系统 | |
US11734408B2 (en) | Remapping of uniform resource locators for accessing network applications | |
CN115834252B (zh) | 一种服务访问方法及系统 | |
US11405379B1 (en) | Multi-factor message-based authentication for network resources | |
CN116170234B (zh) | 一种基于虚拟账号认证的单点登录方法和系统 | |
CN113765876B (zh) | 报表处理软件的访问方法和装置 | |
US20230229752A1 (en) | Attestation of application identity for inter-app communications | |
CN115130116A (zh) | 业务资源访问方法、装置、设备、可读存储介质及系统 | |
CN115834234A (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 |