用于实现跨多个web服务的认证的可插入令牌提供商模型的制作方法

文档序号:7848582阅读:132来源:国知局
专利名称:用于实现跨多个web服务的认证的可插入令牌提供商模型的制作方法
用于实现跨多个web服务的认证的可插入令牌提供商模型背景随着客户机应用的复杂性的增长,与这样的应用进行交互的web服务的数目也增长了。许多web服务将经认证的会话用于服务器。标准的认证方法中的一些包括使用集成Windows认证(IWA)、具有相互传输层安全(MTLS)的基于客户机证书的认证以及各种形式的消息级认证。如今,web服务由于其可扩展性而越来越倾向于使用web服务安全(WSS)协议的消息级认证。WSS消息本身可承载从Kerberos权证中导出的认证令牌、X. 509证书或XML令牌(例如,SAML令牌)。各web服务实现可共享认证令牌提供商。然而,用于在消息级进行认证的令牌本身一般是不同的,因为web服务的目标名称(令牌是对照该目标名称来确认的)可能不同。此外,令牌提供商可以是基于标准的、使用库的专用实现或使用协议的专用实现。

因此,不存在可用于提供合并不同技术使得通信客户机可容易地用各种web服务来进行认证的能力的任何单个接口。此外,在可集成各种web技术并用这些技术来进行认证的可扩展框架内进行操作对于企业客户机(因为企业与基于云的服务集成了)而言是具有挑战性的。概述提供本概述以便以简化的形式介绍将在以下的具体实施方式
中进一步描述的一些概念。本概述并不旨在专门标识所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。各实施例涉及用于跨多个web服务的消息级认证的可插入令牌提供商模型。可以使客户机应用内的web服务和令牌提供商实现与操作商业逻辑以形成和理解web请求的实际组件分开。Web服务组件可以请求执行web服务并提供web服务消息的正文,而公共框架可维护包括与相应的令牌相关联的定义的web服务元数据。该框架还可维护实际取得认证令牌并执行web请求令牌的令牌提供商实现。通过阅读下面的详细描述并参考相关联的附图,这些及其他特点和优点将变得显而易见。可以理解,前述一般描述和以下的详细描述都是说明性的,并且不限制所要求保护的各方面。附图简述图I是示出示例统一通信系统的图示,其中可实现用于跨web服务的消息级认证的各实施例;图2是示出可用于实现用于跨web服务的消息级认证的可插入模型的客户机应用和示例服务器内的各组件的概念图。图3是示出根据各实施例的相关组件、接口和客户机应用内的交互的图示;图4是可实现根据各实施例的系统的联网环境;图5是可实现各实施例的示例计算操作环境的框图;以及图6示出了根据各实施例的通过消息级认证来提供web服务的过程的逻辑流程图。
详细描述如以上简单描述的,可以通过将客户机应用内的web服务和令牌提供商实现与操作商业逻辑以形成和理解web请求的实际组件分开来实现用于跨多个web服务的消息级认证的可插入令牌提供商模型。在以下详细描述中,参考了构成了详细描述的一部分并作为说明示出了各具体实施方式
或示例的附图。可组合这些方面,可利用其他方面,并且可以做出结构上的改变而不背离本发明的精神或范围。因此,以下详细描述并不旨在限制,并且本发明的范围由所附权利要求及其等效方案来限定。尽管在结合在个人计算机上的操作系统上运行的应用程序执行的程序模块的一般上下文中描述了各实施方式,但是本领域的技术人员会认识到各方面也可以结合其它程序模块实现。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、组件、数据结构和其他类型的结构。此外,本领域的技术人员可以明白,各实施例可以用其他 计算机系统配置来实施,包括手持式设备、多处理器系统、基于微处理器或可编程消费电子产品、小型计算机、大型计算机以及类似计算设备。各实施例还能在任务由通过通信网络链接的远程处理设备来执行的分布式计算环境中实现。在分布式计算环境中,程序模块可位于本地和远程存储器存储设备两者中。各实施例可被实现为计算机实现的过程(方法)、计算系统、或者诸如计算机程序产品或计算机可读介质等制品。计算机程序产品可以是计算机系统可读并且编码包括用于使计算机或计算系统执行示例过程的指令的计算机程序的计算机存储介质。例如,计算机可读存储介质可经由易失性计算机存储器、非易失性存储器、硬盘驱动器、闪存驱动器、软盘或紧致盘和类似介质中的一个或多个来实现。贯穿本说明书,术语“平台”可以是用于管理web服务和有关网络通信的软件和硬件组件的组合。平台的示例包括但不限于,在多个服务器上执行的托管服务、在单个服务器上执行的应用以及类似系统。术语“服务器”一般指通常在联网环境中执行一个或多个软件程序的计算设备。然而,服务器还可以被实现为在被视作网络上的服务器的一个或多个计算设备上执行的虚拟服务器(软件程序)。在下面将提供关于这些技术和示例操作的详细细节。图I是示出一个示例统一通信系统的图示,其中可实现用于跨web服务的消息级认证的各实施例。统一通信系统是具有可提供给订阅者的各种各样的能力和服务(包括web服务)的现代通信系统的示例。统一通信系统是便于即时消息收发、在场、音频-视频会议、web会议和类似功能的实时通信系统。在统一通信(“UC”)系统(诸如,图示100中示出的系统)中,用户可经由为该UC系统的客户机设备的各种终端设备(102、104)来进行通信。每一客户机设备都能够执行用于语音通信、视频通信、即时消息通信、应用共享、数据共享等的一个或多个通信应用。除了其高级功能以外,终端设备还可执行方便诸如参与社交网络、基于web的文档共享、搜索、以及类似服务等各种web服务的应用程序。此外,这些客户机设备还可通过外部连接(如通过PBX到公共交换电话网(“PSTN”))来方便传统电话呼叫和相似通信。客户机设备可包括任何类型的智能电话、蜂窝电话、执行通信应用程序的任何计算设备、智能汽车控制台以及具有附加功能的闻级电话设备。
UC网络110可包括执行不同任务的多个服务器。例如,UC服务器114提供注册、在场以及路由功能。路由功能使该系统能够基于默认和/或用户设置的策略来将对一用户的呼叫路由到分配给该用户的客户端设备中的任一个。例如,如果用户不能通过常规电话被找到,则该呼叫可被转发到用户的蜂窝电话,并且如果没有接听则可以利用多个语音邮件选项。因为终端设备可以处理附加通信模式,所以UC服务器114可以通过接入服务器112提供对这些附加通信模式(例如即时消息收发、视频通信等)的访问。接入服务器112位于周边网络中并且以附加通信模式之一允许与其他用户通过UC网络110的连接。UC服务器114可包括执行上述功能的组合的服务器,或仅提供特定功能的专用服务器。例如,提供在场功能的家庭服务器、提供路由功能的路由服务器等。类似地,接入服务器112可提供多个功能,诸如防火墙保护和连接,或仅提供专用功能。音频/视频(A/V)会议服务器118通过经由内部或外部网络促进音频和/或视频会议能力来提供这些能力。中介务器116作为去往和来自诸如PSTN或蜂窝网络等其他类型的网络的令牌和媒体的中介。中介服务器116还担当会话发起协议(SIP)用户代理。 在UC系统中,用户可以具有一个或多个身份,该身份不必限于电话号码。根据集成网络,该身份可以采取任何形式,如电话号码、会话发起协议(SIP)统一资源标识符(URI)、或任何其他标识符。尽管在UC系统中可以使用任何协议,但SIP是常用方法。SIP是用于创建、修改和终止与一个或多个参与者的会话的应用层控制(令牌)协议。该协议还可用于创建包括因特网电话呼叫、多媒体分发和多媒体会议的双方、多方或多播会话。SIP被设计成与底层传输层无关。SIP客户机可使用传输控制协议(“TCP”)来连接到SIP服务器和其他SIP端点。SIP主要用于建立和破坏语音或视频呼叫。然而,它可以在需要会话发起的任何应用中使用。这些应用包括事件订阅和通知、终端移动性等。语音和/或视频通信通常通过单独的会话协议(通常是实时协议(“RTP”))来完成。UC系统可为社交联网、多模态企业通信、基于web的共享服务及类似环境提供平台。当订阅者参与这一环境时,他们可利用由一个或多个外部服务器(例如,122、124和126)或由在UC系统内部的服务器中的一个来管理的web服务。这些服务中的一些可要求基于凭证的认证。通过在每一客户机应用中实现的web服务组件可便于这些服务。在根据各实施例的系统中,可以将客户机应用中的web服务和令牌提供商实现与管理web服务的执行的web服务管理器组件分开。Web服务管理器组件可以是维护web服务元数据、令牌提供商实现、凭证管理器和用于执行web请求的相关接口的公共框架的一部分。以下讨论更详细的示例。尽管图I中的示例系统已被描述为具有诸如中介服务器、A/V服务器和类似设备等特定组件,但各实施例不限于这些组件或系统配置并且能够用采用更少或更多组件的其他系统配置来实现。采用用于跨多个web服务的消息级认证的可插入模型的各系统的功能还可取决于组件能力和系统配置来不同地分布在各系统的各组件之间。此外,各实施例不限于统一通信系统。此处所讨论的方法可应用于使用此处所描述的原理的联网通信环境中的任何数据交换。图2是示出可用于实现用于跨web服务的消息级认证的可插入模型的客户机应用和示例服务器内的各个组件的概念图。在根据各实施例的系统中,如图示200所示,用户228可通过其客户机230与各种web服务提供者交互。客户机230可指代执行一个或多个应用的计算设备、在一个或多个计算设备上执行的应用、或以分布式方式执行的且由用户228通过计算设备访问的服务。在典型的系统中,客户机230可与管理客户机的网络内的通信的一个或多个服务器(例如,服务器244)通信。可通过服务器244上可用的资源来提供web服务中的某一些。可通过在网络内部或外部的服务器246上可用的资源来提供其他web服务。与客户机230进行交互的令牌发布者可以由模型中的令牌提供商组件234来表示。令牌提供商组件234可以用其统一资源标识符(URI)或名称来唯一地标识,通过这种方式这些令牌提供商组件234可由元数据模型组件240通过使用从web服务组件232处取得的web服务元数据或WSS策略信息来引用。·元数据模型组件240负责维护与web服务相关联的信息。可采用如WSDL元数据或WS — MEX等标准机制来取得元数据。一旦检索到了元数据,元数据组件240可维护元数据信息与提供该元数据的web服务的标识符(例如,统一资源定位符“URL”)间的映射。元数据模型组件240还可将元数据信息持久保存在文件中或类似的持久保存存储中,使得不会在每次应用启动时重复解析和检索循环。根据各实施例来实现和/或消费web服务请求和响应的组件可能会忽略底层的令牌提供商和元数据框架。这些组件可简单地(例如,为web服务的简单对象访问协议“SOAP”正文)提供要作出的web服务调用的有效载荷。一旦作出了特定调用,web服务管理器组件238可提取该调用的基本标识符,并调用元数据模型组件240以请求web服务元数据。一旦检索到了元数据,web服务管理器组件238可循环通过元数据内的各可用绑定并基于所请求的操作和取决于凭证管理器组件236所提供的凭证的认证类型来选择一个合适的绑定。随后,可作出令牌提供商调用以取得该令牌,并且web服务管理器组件238可组合这些信息片段以构造实际的web服务请求(例如,SOAP请求)。凭证管理器组件236可以用用户标识符来标识凭证服务(也称为“登录服务”)。由实现凭证服务的其他组件对凭证管理器组件236作出的调用可以在作出该调用的上下文中指定标识符。凭证管理器组件236可能够处理多种类型的凭证。可用于根据各实施例的系统的凭证的示例包括但不限于用户名/ 口令、证书、身份证号等。凭证管理器组件236可以向用户查询凭证或提供系统中的任何一个内置凭证。后者可包括用户当时登录操作系统时的凭证,该凭证可以通过系统调用来取得。如果要查询凭证,则可向用户界面提供显示提示的命令。该提示可以由用户通过使取消可操作来消除或通过提供凭证来应答。一旦向凭证管理器组件236提供了凭证,则可将其保存在该组件的数据模型中以供将来使用。保存在模型中可能是易失性的,并且可在应用被关闭或另一用户登入该应用时被清除。可将凭证存储在非易失性存储器中的密码之后,并且使用操作系统调用来实现这个目的。对于凭证管理器组件236可用的每一个凭证,该组件可维护每一服务(如标识符所表示的)和该服务的成功记录间的成功记录映射的运行副本。成功记录可以处于以下三个状态中的一个“未知”、“成功”或“失败”。“未知”状态可在特定凭证从未被凭证服务使用过时被设置。来自该服务的对凭证管理器的任何将来调用可给出这个凭证。处于“成功”状态的成功记录可记录服务对凭证的成功使用,且相同的成功记录可被服务使用直到报告了失败。针对成功服务的标识符的对凭证管理器组件236的进一步调用可返回“成功”凭证。“失败”状态可记录服务对凭证的登录失败。这样的凭证不可再次与服务一起使用,直到系统被复位。此外,凭证管理器组件236可通过使用如注册表、文件和/或凭证管理器应用编程接口(API)之类的系统资源来跨各应用重启持久保存凭证信息。为了安全,可对凭证加密。web服务传输组件242可向通信接口提供其他应用/服务,诸如在服务器244上执行的那些应用/服务。为了在客户机230的组件和外部资源间交换消息(调用),以上已提到了诸如SOAP和WSS等示例协议。SOAP (简单对象访问协议)是用于在计算机网络中交换各web服务实现中的结构信息的协议规范。该协议将可扩展标记语言(XML)用作其消息格式,并通常依赖于其他应用层协议,最值得注意的是用于消息协调和传输的远程过程调用(RPC)和HTTP。SOAP消息可包括三个部分信封一定义消息中有什么以及如何处理它,头部一包含将由 SOAP节点沿着消息路径来处理的应用相关消息,以及正文——包含预期用于消息的最终接收者的信息。SOAP体系结构包括用于消息格式、消息交换模式、底层的传输协议绑定、消息处理模型和协议可扩展性的若干层规范。Web服务安全(WSS)是用于将安全机制应用于web服务的灵活且特征丰富的SOAP扩展。WSS描述了三个主要机制如何对SOAP消息进行签名以确保安全性;如何加密SOAP消息以确保机密性;以及如何附加安全性令牌。该规范允许各种签名格式、加密算法、信任域和安全令牌模型(例如,X. 509证书、Kerberos权证、用户ID/口令凭证、SAML断言以及自定义令牌)。参考图3,提供了示出根据各实施例的相关组件、接口和客户机应用内的交互的图示300。如前所讨论的,与客户机进行交互的令牌发放者可以由客户机中的令牌提供商组件366、368和370来表示。可以由元数据模型组件364通过使用从web服务组件352、354、356和358取得的web服务元数据或WSS策略信息来引用令牌提供商组件366、368、370。如示图300所示,多个令牌提供商可以通过具有可专用于特定目的的通用实现来实现。在根据某些实施例的客户机应用中,令牌提供商组件366、668、370可展示GetTokenO (获得令牌
O)接口(370、380和382),该接口一在提供有提供令牌的目标时一提供与该目标相对应的令牌。只要令牌是有效的就可以高速缓存这些令牌,并且当对令牌提供商的调用是在过期时间之后才被作出的时自动续订这些令牌。令牌提供商组件366、368、370可以通过调用元数据模型组件364的RegisterTokenProviderO (注册令牌提供商O )接口 376来向元数据模型组件364注册其自身。该注册可提供令牌发放者的名称(例如,唯一的名称)或URI。元数据模型组件364可负责维护与web服务相关联的信息。可以将元数据信息解析成一系列绑定条目,并对这些条目进行维护。每一绑定条目可包括将对其作出web服务请求的实际终点URI、web服务的SOAP操作和动作信息、终点处支持的认证类型、对应于终点的安全策略信息和/或基于安全策略中的令牌发放者URI的令牌提供者。当将作出GetTokenO接口(378、380、382)调用时,可包括安全策略信息以支持令牌提供商组件可检索到的不同类型的令牌。例如,安全策略可具有可被令牌提供商组件用来实际构造对令牌发放者的RequestSecurityToken (请求安全令牌)调用的操作环境密钥。一旦检索到了元数据,元数据模型组件364还可将元数据信息持久保存在文件中或类似的持久保存存储中,使得不用每次启动应用时都重复解析和检索循环。
web服务管理器组件360可通过其ExecuteWebRequest O (执行Web请求O )接口372来接收对特定web服务的调用,并提取该调用的基标识符。web服务管理器组件360可随后调用元数据模型组件364的GetMetadataO (获得元数据O )接口 374来请求web服务元数据。一旦检索到了元数据,web服务管理器组件360可循环通过元数据内的各可用绑定并基于所请求的操作和取决于凭证管理器组件236所提供的凭证的认证类型来选择一个合适的绑定。接着是用于取得相关令牌的令牌提供商调用,并且web服务管理器组件360可组合这些信息片段以构造实际的web服务请求。如果在元数据模型组件364处没有任何元数据可用于特定请求,则元数据模型组件364可以作出对相关web服务的下载调用。如前所述,web服务传输组件362提供客户机内的各组件以及其他计算设备上执行的其他应用/服务之间的接口服务。已经用具体的服务器、客户机设备、软件模块和交互描述了

图1、2和3的示例系统。各实施例不限于根据这些示例配置的系统。用于跨多个web服务的消息级认证的可插入令牌提供商模型可以在采用了更少或更多组件并执行其他任务的配置中实现。此外,已 经结合描述以上实施例讨论了特定的协议、调用和接口。各实施例也不限于这些示例。可以使用此处描述的原理用类似的方式来实现其他协议、交换和接口。图4是可实现各实施例的示例联网环境。提供用于跨多个web服务的认证的可插入令牌提供商模型的平台可以经由在一个或多个服务器414上执行的软件(诸如,主存的服务)来实现。该平台可以通过网络412来与诸如智能电话413、膝上型计算机412、或台式计算机411 (“客户机设备”)等各个计算设备上的客户机应用进行通信。如上所述,在客户机设备411 - 413中的任何一个上执行的客户机应用可包括分开的web服务、令牌提供商、web服务管理和凭证管理组件。这些组件可通过以上所解释的元数据模型来管理对web服务请求的认证。在这些服务器414中的一个或多个或单个服务器416上执行的通信服务或应用可以通过客户机设备411-413来接收来自用户的请求、从数据存储419处直接检索相关数据或者通过数据块服务器418来检索相关数据、以及向用户提供所请求的web服务。网络410可包括服务器、客户机、因特网服务供应商以及通信介质的任何拓扑结构。根据各实施例的系统可以具有静态或动态拓扑结构。网络410可包括诸如企业网络等安全网络、诸如无线开放网络等非安全网络、或因特网。网络410还通过诸如公共交换电话网络(PSTN)或蜂窝网络等其他网络来协调通信。此外,网络410可包括诸如蓝牙或类似网络等短程无线网络。网络410提供此处描述的节点之间的通信。作为示例而非限制,网络410可以包括例诸如声学、RF、红外线和其它无线介质等无线介质。可以采用计算设备、应用、数据源和数据分发系统的许多其它配置来实现用于跨多个web服务的消息级认证的框架。此外,图4中所讨论的联网环境仅用于说明目的。各实施例不限于示例应用、模块、或过程。图5及相关联讨论旨在提供对其中可实现各实施例的合适计算环境的简要概括描述。参考图5,示出了用于根据各实施例的应用的示例计算操作环境(诸如计算设备500)的框图。在基本配置中,计算设备500可以是执行根据各实施例的客户机应用的客户机设备,并包括至少一个处理单元502和系统存储器504。计算设备500还可包括协作执行程序的多个处理单元。取决于计算设备的确切配置和类型,系统存储器504可以是易失性的(诸如RAM)、非易失性的(诸如ROM、闪存等)或是两者的某种组合。系统存储器504通常包括适于控制平台操作的操作系统505,诸如来自华盛顿州雷德蒙市的微软公司的WINDOWS 操作系统。系统存储器504还可以包括一个或多个软件应用,诸如程序模块506、通信应用522和组件524。通信客户机应用522可以是方便计算设备500上的其他应用程序和/或模块和与所请求的web服务 相关的服务器之间的通信的任何应用。组件524可包括如上所述的web服务组件、令牌提供商、web服务管理器、凭证管理器和元数据模型。Web服务请求可以通过消息级认证来执行,该消息级认证是通过各组件间的交互来完成的。通信客户机应用522可以是向客户机设备提供增强的通信服务的主存服务的单独应用或集成模块。该基本配置在图5中由虚线508内的那些组件示出。计算设备500可以具有附加特征或功能。例如,计算设备500还可包括附加数据存储设备(可移动和/或不可移动),诸如,例如磁盘、光盘或磁带。在图5中通过可移动存储509和不可移动存储510示出这样的附加存储。计算机可读存储介质可以包括以用于存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。系统存储器504、可移动存储509和不可移动存储510都是计算机可读存储介质的示例。计算机可读存储介质包括,但不限于,RAM、ROM、EEPR0M、闪存或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光存储、磁带、磁盘存储或其它磁存储设备、或能用于存储所需信息且可以由计算设备500访问的任何其它介质。任何这样的计算机可读存储介质都可以是计算设备500的一部分。计算设备500也可具有输入设备512,诸如键盘、鼠标、笔、语音输入设备、触摸输入设备和类似输入设备。还可以包括输出设备514,诸如显示器、扬声器、打印机和其它类型的输出设备。这些设备在本领域中公知且无需在此处详细讨论。计算设备500还可包含通信连接516,该通信连接允许该设备诸如通过分布式计算环境中的有线或无线网络、卫星链接、蜂窝链接、短程网络和类似机制来与其他设备518进行通信。其他设备518可包括执行通信应用的计算机设备、其他web服务器和类似设备。一个或多个通信连接516是通信介质的一个示例。通信介质可在其中包括计算机可读指令、数据结构、程序模块或其它数据。作为示例而非限制,通信介质包括诸如有线网络或直接线连接之类的有线介质,以及诸如声学、RF、红外及其他无线介质之类的无线介质。各示例实施例还包括各种方法。这些方法可以用任何数量的方式,包括本文中所描述的结构来实现。一种此类方式是通过本文中描述的类型的设备的机器操作。另一可任选方式是结合一个或多个人类操作者执行该方法的各个操作中的某一些来执行该方法的一个或多个操作。这些人类操作者无需彼此同在一处,而是其每一个可以仅与执行程序的一部分的机器同在一处。图6示出了根据各实施例的通过消息级认证来提供web服务的过程600的逻辑流程图。过程600可被实现为加入增强的通信系统的客户机应用的一部分。过程600开始于操作610,其中在web服务管理器组件处从客户机应用内的web服务组件接收web服务请求。在操作620,web服务管理器组件可以定位与所请求的web服务相关联的元数据。如果在决策操作630处web服务管理器组件确定需要凭证,则处理移动到操作640,在操作640处从凭证管理器组件处检索凭证。否则,处理可跳至操作670,在操作670处在web服务管理器组件的管理下提供所请求的web服务。凭证管理器组件可能够通过将单个用户身份与多个web服务相关联或者将多个用户身份与单个web服务相关联来处理多种类型的凭证。在凭证检索之后的操作650处,可请求来自令牌提供者组件的与检索到的凭证相关联的令牌。可配置地处理元数据,以取得基于每一服务的令牌。可存在每一 web服务的令牌提供商组件(每一服务的令牌提供商),其中令牌提供商组件和web服务被静态绑定或动态绑定。接着是操作660,在操作660处web服务管理器组件基于接收到的令牌来监督对所请求的web服务的认证。如果认证成功,则可在操作670处提供所请求的web服务。包括在过程700内的各操作是用于说明目的。用于跨多个web服务的消息级认证的可插入令牌提供商模型可以使用本文所述的各原理通过具有更少或附加步骤的相似过程并以不同的操作次序来实现。以上说明书、示例和数据提供了对各实施例的组成的制造和使用的全面描述。尽管用结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权利要求书中·定义的主题不必限于上述具体特征或动作。相反,上述具体特征和动作是作为实现权利要求和各实施方式的示例形式而公开的。
权利要求
1.一种至少部分地在计算设备中执行的用于通过可插入令牌提供商模型来实现跨多个web服务的消息级认证的方法,所述方法包括 在客户机应用处接收来自本地web服务组件的web服务请求; 定位与所请求的web服务相关联的元数据,其中所述元数据包括与所请求的web服务的执行和认证相关联的信息; 如果一凭证与所请求的web服务相关联,则检索所述凭证; 检索与所检索的凭证相关联的令牌; 基于所检索的令牌来认证所请求的web服务;以及 如果所述认证成功,则执行所请求的web服务。
2.如权利要求I所述的方法,其特征在于,使所述客户机应用内的web服务和令牌提供商组件与操作商业逻辑以形成和理解所请求的web服务的组件分开。
3.如权利要求2所述的方法,其特征在于,所述令牌提供商组件表示与所述客户机应用交互的令牌发放者并且是由统一资源标识符(URI)和名称中的一者来标识的。
4.如权利要求3所述的方法,其特征在于,维护元数据的元数据模型组件利用从所述web服务组件处检索到的web服务元数据和web服务安全(WSS)策略信息中的一个来引用所述令牌提供商组件。
5.如权利要求4所述的方法,其特征在于,所述元数据模型组件还维护元数据信息与提供所述元数据的web服务的标识符间的映射。
6.如权利要求4所述的方法,其特征在于,所述元数据模型组件解析所述元数据并维护多个绑定条目。
7.如权利要求6所述的方法,其特征在于,所述多个绑定条目包括以下一组中的至少一个将对其作出web服务请求的资源标识符、要被包括在web服务消息中的操作和动作信息、所述资源所支持的认证类型、对应于所述资源的安全策略信息、以及基于所述安全策略中的令牌发放者标识符的令牌提供商标识。
8.如权利要求7所述的方法,其特征在于,web服务管理器组件被配置为 从所述元数据模型组件中检索元数据, 循环通过所述多个绑定, 基于所请求的web服务及相关联的认证类型来选择所述绑定中的一个,以及 构造实际的web服务请求。
9.如权利要求8所述的方法,其特征在于,凭证管理器组件被配置为基于由所述web服务管理器组件提供的用户标识符来标识与所请求的web服务相关联的凭证服务。
10.如权利要求6所述的方法,其特征在于,所述元数据模型组件持久保存经解析的元数据,使得所述元数据被检索和解析一次。
全文摘要
提供了用于跨多个web服务的消息级认证的可插入令牌提供商模型。可以使客户机应用内的web服务和令牌提供商实现与操作商业逻辑以形成和理解web请求的实际组件分开。web服务组件可以请求执行web服务并提供web服务消息的正文,而公共框架维护包括与相应的令牌相关联的定义的web服务元数据。框架还可维护实际取得认证令牌并执行web请求的令牌提供商实现。
文档编号H04L9/32GK102812665SQ201180014279
公开日2012年12月5日 申请日期2011年3月15日 优先权日2010年3月18日
发明者R·纳拉亚南, 梁睿, S·斯里尼瓦桑 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1