首页> 中国专利> 一种基于多域协同架构第三方应用授权认证方法

一种基于多域协同架构第三方应用授权认证方法

摘要

本发明属于计算机应用技术领域,公开了一种基于多域协同架构第三方应用授权认证方法,采用多域协同分层架构;由多层域所组成,每一个域由物联网平台、传感器设备以及第三方应用所组成;以分层的方式对各个域进行权限的管理和划分,各个目标域管理员对授权信息进行审核,待审核通过后可将审核信息通过的多个域视为一个资源组;开发者根据授权结果完成开发工作。本发明基于分层架构多域间第三方应用权限认证方法,以保障平台与第三方应用之间安全可靠的授权访问,为两者数据交互提供了快速便捷的通道。与传统第三方应用权限认证方法相比,本发明解决了多域协同架构中平台权限管理员、第三方应用开发者、平台用户三者之间的认证问题。

著录项

  • 公开/公告号CN107018128A

    专利类型发明专利

  • 公开/公告日2017-08-04

    原文格式PDF

  • 申请/专利权人 西安电子科技大学;

    申请/专利号CN201710132563.X

  • 申请日2017-03-07

  • 分类号H04L29/06(20060101);

  • 代理机构61227 西安长和专利代理有限公司;

  • 代理人黄伟洪

  • 地址 710071 陕西省西安市太白南路2号西安电子科技大学

  • 入库时间 2023-06-19 02:58:05

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-12-31

    授权

    授权

  • 2017-08-29

    实质审查的生效 IPC(主分类):H04L29/06 申请日:20170307

    实质审查的生效

  • 2017-08-04

    公开

    公开

说明书

技术领域

本发明属于计算机应用技术领域,尤其涉及一种基于多域协同架构第三方应用授权认证方法。

背景技术

在当前互联网时代,面对物联网发展的日新月异,越来越多的人开始重视并开发这一领域。而当前社会的开发模式主要是基于某一互联网平台,大力开发第三方应用为用户提供快捷便利的服务。面对海量数据和大量用户,一种妥当的管理架构就显得尤为重要。多域协同分层架构致力于解决多域之间传感器设备交互的问题,它可以对多域数据的交互起到一个控制管理的作用。但面对多域协同分层架构第三方应用的认证控制问题便应运而生了。如今OAuth2.0授权认证技术已经十分成熟,其主要流程为第三方应用根据平台所提供的临时令牌将用户导向平台提供的授权页面,用户在授权页面输入用户名密码和授权第三方应用访问平台的资源,当授权成功后平台给予第三方应用访问令牌,使其可以对平台资源进行访问。其优点是它为用户授权认证提供一套安全可靠的标准,在用户访问物联网平台时,第三方应用不会知道用户登录密码等信息。但是OAuth2.0授权认证技术解决的是用户与单域平台之间的授权认证问题,并不适用于本发明的多域协同的架构中,面对多域分层架构中各域的权限大小不同的问题,其有待补充和扩展。本发明在OAuth2.0授权认证技术的基础之上,将其引申和扩展变为一种适用于多域场景的认证授权方法,来解决多域平台间权限认证、权限共享的问题。由于开发第三方应用可以使得用户、物联网平台以及第三方应用共赢,因此在多域协同架构中,往往会有大量的第三方应用应运而生,那么第三方应用对物联网平台接口的访问的压力将会是巨大。

综上所述,现有技术存在的问题是:随着物联网技术的发展与广泛应用,物联网平台域的数量将会不断增加,开发人员也会基于物联网平台开发大量的第三方物联网应用,在这样一种多域的场景下,缺少一种妥善的权限管理架构来管理各应用的数据访问权限,保证用户数据隐私。而现有的技术问题如OAauth2.0成熟的授权认证技术主要是解决单域间用户与应用之间的授权认证问题,即一种点对点的授权认证方式。对于一个物联网应用,它在各域的数据访问权限各不相同,点对点的授权认证方式已不能解决多域架构下的复杂的权限认证问题,急需一种适用于多域协同框架的授权认证方法。

发明内容

针对现有技术存在的问题,本发明提供了一种基于多域协同架构第三方应用授权认证方法。

本发明是这样实现的,一种基于多域协同架构第三方应用授权认证方法,所述基于多域协同架构第三方应用授权认证方法采用多域协同分层架构;

所述多域协同分层架构由多层域所组成,每一个域由物联网平台、传感器设备以及第三方应用所组成;以分层的方式对各个域进行权限的管理和划分,各个目标域管理员对授权信息进行审核,待审核通过后可将审核信息通过的多个域视为一个资源组;开发者根据授权结果完成开发工作。

进一步,所述基于多域协同架构第三方应用授权认证方法包括以下步骤:

步骤一,开发者通过本域平台向外域发送申请授权信息,待管理员同意授权信息后,将多域视为一个资源组,在开发流程完成后最终第三方应用开发者发布应用上线;

步骤二,当平台用户进入第三方应用时,第三方应用将用户导向物联网平台提供的授权页面,所提供的授权页面根据用户在平台所接入的设备生成,在用户授权认证成功后;在资源组中生成一张映射表(以便用户对资源访问时调用)同时第三方应用拿到平台给予的访问令牌对物联网平台的资源进行访问;

步骤三,通过授权认证后第三方应用对资源组接口调用,资源组根据映射表和用户传入信息,将其转发到资源组的各个域上,从而进行数据与命令的访问和交互。

进一步,所述第三方应用开发者发布支持资源组的第三方应用上线的步骤如下:

步骤一,开发者登录物联网平台创建第三方应用,此时为第三方应用分配APPId;

步骤二,开发者向本域平台管理员申请外域授权信息,管理员将信息解析拿到外域id后分别转发给各个目标域;

步骤三,各个目标域管理员对授权信息进行审核,待审核通过后将审核信息通过的多个域视为一个资源组;开发者根据授权结果完成开发工作;

步骤四,开发者完善应用信息并申请应用上线,平台管理员审查平台信息是否违反国家法律法规,若通过,应用上线;若拒绝,开发者重新完善应用信息并提交申请。

进一步,资源组与用户授权访问由多域组成的资源组与用户授权认证的步骤如下:

步骤一,资源组向用户提供授权页面,用户向资源组输入用户信息以及发送授权信息;物联网平台提供给用户的授权页面由不同用户所拥有的设备所生成的;

步骤二,资源组需为每个用户所选择的授权信息生成对应的映射表;

步骤三,资源组验证通过后,向第三方应用授予访问令牌,第三方应用可以对资源组进行访问。

进一步,所述资源组将来自不同用户的命令的第一条命令以目标域id、接口id、其他参数信息以及查询数据信息以表的形式存储到缓存当中以备接下来的命令比对;根据调用接口传入的参数进行判断,若用户调用接口传入的参数均相同,将重复的调用接口命令放置到队列上进行等待,当第一条命令结果返回时,将结果广播给队列上等待的用户。

本发明的另一目的在于提供一种所述基于多域协同架构第三方应用授权认证方法的基于多域协同架构第三方应用授权认证系统,所述基于多域协同架构第三方应用授权认证系统包括:

开发者授权访问模块,开发者通过本域平台向外域发送申请授权信息,待管理员同意授权信息后,将多域视为一个资源组,在开发流程完成后最终第三方应用开发者发布应用上线;

用户授权访问模块,当平台用户进入第三方应用时,第三方应用将用户导向物联网平台提供的授权页面,所提供的授权页面根据用户在平台所接入的设备生成;在用户授权认证成功后,在资源组中生成一张映射表同时第三方应用拿到平台给予的访问令牌对物联网平台的资源进行访问;

用户访问资源模块,用户在通过授权认证后第三方应用对资源组接口调用,资源组根据映射表和用户传入信息,将转发到资源组的各个域上,进行数据与命令的访问和交互。

本发明的另一目的在于提供一种应用所述基于多域协同架构第三方应用授权认证方法的物联网平台。

本发明的优点及积极效果为:基于分层架构多域间第三方应用权限认证方法,以保障平台与第三方应用之间安全可靠的授权访问,为两者数据交互提供了快速便捷的通道。与传统第三方应用权限认证方法相比,本发明提供一种第三方应用权限认证方法以解决多域协同间平台权限管理员、第三方应用开发者、平台用户三者之间的认证问题。同时,本发明在OAauth2.0协议的基础上提出的基于分层架构多域间第三方应用权限认证方法具有可靠的安全性,另外本发明提出的资源组多域管理概念以及面对大量数据缓存队列的设计,体现了本发明的可扩展性以及高效性。

本发明针对物联网平台与第三方应用的接入问题,主要指开发者如何申请第三方应用接入物联网平台。不同开发者所开发的第三方应用功能是不一样的,本发明所述的问题主要针对多域中第三方应用开发,因此涉及到第三方应用与多个域间的授权认证问题,针对此问题,本发明采用开发者授权访问模块,使得第三方应用能基于平台发布上线,有效地解决了面对多域协同分层架构第三方应用接入本域物联网平台的问题;针对资源组与用户授权问题,主要指用户与多域进行授权认证问题,不同域与用户间授权认证方式可能会所有不同,并且用户发出的权限认证的响应应被哪个域所接受需要一个管理中心,因此本发明采用资源组对不同域进行统一管理,资源组是本发明提出的一种虚拟的概念,并非真实存在的。用户授权访问模块解决了多域中用户权限认证问题,主要是指多域对平台用户提供的服务,供用户授权许可。本发明在资源组中建立了映射表,映射表标明了用户与平台间接口访问的逻辑关系,用户可以通过映射表向多域发送权限认证的响应,交由资源组决定发送至相关的域中,资源组对于平台用户来说是黑盒,本发明既保证了平台的安全性,也体现了平台的可扩展性;针对第三方应用对资源组资源的访问,采用用户访问资源访问,从整体上提升了平台的效率,更有效地提升了用户对平台提供的服务的体验。

附图说明

图1是本发明实施例提供的基于多域协同架构第三方应用授权认证方法流程图。

图2是本发明实施例提供的多域协同分层架构示意图。

图3是本发明实施例提供的开发者授权访问流程图。

图4是本发明实施例提供的用户授权访问流程图。

图5是本发明实施例提供的用户资源访问流程图。

图6是本发明实施例提供的目标域接口调用架构示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

下面结合附图对本发明的应用原理作详细的描述。

如图1所示,本发明实施例提供的基于多域协同架构第三方应用授权认证方法包括以下步骤:

S101:开发者通过本域平台向外域发送申请授权信息,待管理员同意授权信息后,将多域视为一个资源组,在开发流程完成后最终第三方应用开发者发布应用上线;

S102:当平台用户进入第三方应用时,第三方应用将用户导向物联网平台提供的授权页面,所提供的授权页面根据用户在平台所接入的设备生成,在用户授权认证成功后;在资源组中生成一张映射表(以便用户对资源访问时调用)同时第三方应用拿到平台给予的访问令牌对物联网平台的资源进行访问;

S103:通过授权认证后第三方应用对资源组接口调用,资源组根据映射表和用户传入信息,将其转发到资源组的各个域上,从而进行数据与命令的访问和交互。

下面结合附图对本发明的应用原理作进一步的描述。

本发明实施例提供的基于多域协同架构第三方应用授权认证系统包括:

(1)开发者授权访问模块:

所述开发者授权访问是指平台对第三方应用开发者的授权和审核,该模块分为第三方应用开发者针对本域开发以及开发者针对资源组开发两种情况。所述第三方应用开发者针对本域开发是指,开发者针对本域所开发的功能仅仅与本域数据相关不涉及其他域数据信息,此时将本域视为一个资源组;所述第三方应用开发者针对资源组开发是指,第三方应用开发者需要对多个域进行开发,开发者需通过本域平台向外域发送申请授权信息,待管理员同意授权信息后,将多域视为一个资源组,在开发流程完成后最终第三方应用开发者发布应用上线。

(2)用户授权访问模块:

所述用户授权访问是指平台对第三方应用用户提供的服务,供用户授权许可。当平台用户进入第三方应用时,第三方应用将用户导向物联网平台提供的授权页面,所提供的授权页面根据用户在平台所接入的设备生成。在用户授权认证成功后,在资源组中生成一张映射表(以便用户对资源访问时调用)同时第三方应用拿到平台给予的访问令牌对物联网平台的资源进行访问。

(3)用户访问资源模块:

所述用户访问资源是指用户在通过授权认证后第三方应用对资源组接口调用,资源组根据映射表和用户传入信息,将其转发到资源组的各个域上,从而进行数据与命令的访问和交互。

本发明是基于多域协同分层架构所实现的,多域协同分层架构如图2所示,它由多层域所组成,每一个域由物联网平台、传感器设备以及第三方应用所组成。本发明以分层的方式对各个域进行权限的管理和划分。对于其中任何一个域,它与上层域、同层域、下层域以及不是一个锥体的域在授权认证通过后均可以进行数据信息的交互和控制命令信息的下发。第三方应用针对多个域开发,本发明将这多个域称为资源组。

第三方应用接入物联网平台的问题可视为支持资源组的第三方应用。第三方应用开发者发布支持资源组的第三方应用上线如图3所示,其步骤如下:

步骤一,开发者首先需登录物联网平台(一个域)创建第三方应用,此时为第三方应用分配APPId。

步骤二,其次开发者向本域平台管理员申请外域授权信息,管理员将此信息解析拿到外域id后分别转发给各个目标域。

步骤三,各个目标域管理员对授权信息进行审核,待审核通过后可将审核信息通过的多个域视为一个资源组。开发者根据授权结果完成相关开发工作,所述的第三方应用是针对资源组所做的开发。

步骤四,开发者完善应用信息并申请应用上线,平台管理员审查平台信息是否违反国家法律法规,若通过,应用上线;若拒绝,开发者重新完善应用信息并提交申请。在申请应用上线审核期间,第三方应用开发者可以增加测试用户,对平台功能性能进行测试,为考虑平台安全,所有测试用户必须是物联网平台已注册用户。

本发明实施例的资源组与用户授权访问问题如图4所示,由多域组成的资源组与用户授权认证步骤如下:

步骤一,资源组向用户提供授权页面,用户向资源组输入用户信息(账号密码)以及发送授权信息。物联网平台提供给用户的授权页面由不同用户所拥有的设备所生成的。

步骤二,资源组需为每个用户所选择的授权信息生成对应的映射表,映射表信息如表1所示,以便用户对资源组内的资源进行访问。

步骤三,资源组验证通过后,向第三方应用授予访问令牌,第三方应用可以对资源组进行访问。

表1资源组用户映射表

如图3和图4所示,基于多域协同分层架构提供一种第三方应用授权认证方法,在Oauth2.0授权认证的基础上对其进行了完善与补充,本发明相比Oauth2.0授权认证方法其优点是简化了Oauth2.0授权认证方法繁琐的步骤,也继承了其安全可靠的特性。同时针对多域协同分层架构;使得第三方应用不仅局限于针对一个域进行开发,而可以针对多域(即一个资源组)开发第三方应用,使第三方应用的功能更为丰富多样,用户体验效果更好。

在授权认证成功后,不同用户通过第三方应用可以向资源组进行资源访问。用户并不知道资源组内部的具体的情况,用户仅仅调用资源组的接口,向接口传送信令或者获取数据信息,当资源组获取信息后与资源组映射表相结合,若未经用户授权则向用户发送通知信息,若用户已授权则向目标域转发信令或获取数据信息。

面对海量的第三方应用和用户,资源组对目标域接口访问量在高峰时期会导致时延较高,此时需要降低其时延。采取一种缓存的策略以解决资源组在同一时间段重复调用目标域接口资源的问题。当用户想要获取非即时数据时,如图6所示,本发明将来自不同用户的命令的第一条命令以目标域id、接口id、其他参数信息以及查询数据信息以表的形式存储到缓存当中以备接下来的命令比对。根据调用接口传入的参数进行判断,若用户调用接口传入的参数均相同,将重复的调用接口命令放置到队列上进行等待,当第一条命令结果返回时,本发明将此结果广播给队列上等待的用户;降低了第三方应用目标域接口调用的压力,使得用户请求的数据信息能快速的展现给用户。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号