资源访问授权的制作方法

文档序号:7860202阅读:207来源:国知局
专利名称:资源访问授权的制作方法
资源访问授权背景技术
现今的计算机用户访问各种各样的应用,诸如媒体服务、web (网络)应用、社交媒体应用等等。这些应用之中的许多应用使用某种类型的标识技术来确定用户的身份和访问用户信息,诸如在线验证和/或授权服务。利用这样的技术的主要挑战是在确保用户的身份得到保护的同时允许应用被授权访问用户资源。发明内容
提供这个发明内容部分来以简化的形式介绍下面在具体描述部分中进一步描述的概念的选择。这个发明内容部分并不打算识别所请求保护的主题的关键特性或基本特性,也不打算用作辅助手段来确定所请求保护的主题的范围。
描述用于资源访问授权的技术。在一个或多个实现方式中,应用标识符由应用使用来控制对用户资源的访问。通过将从授权服务接收的应用标识符与从该应用正在其上面执行的计算设备获得的用于该应用的系统应用标识符进行比较,作出是否允许该应用访问用户资源的确定。
在一个或多个实现方式中,响应于试图确定是否允许应用访问用户资源的请求而从授权实体接收回复,该回复包括用于该应用的应用标识符。如果该应用标识符与从该应用正在其上面执行的计算设备获得的用于该应用的系统应用标识符相匹配的话,则允许该应用访问用户资源。
在一个或多个实现方式中,技术检测到在计算设备上执行的应用正在借助于持续验证模式来请求访问用户资源。作出从授权服务接收的应用标识符是否与从计算设备获得的系统应用标识符匹配的确定。如果应用标识符与系统应用标识符相匹配的话,则允许该应用借助于从授权服务接收的验证数据来访问用户资源。


详细的说明参考附图来描述。在附图中,参考数字中最左侧(一个或多个)数字标识该参考数字首次出现在其中的附图。在说明书和附图的不同实例中相同参考数字的使用可以指示相似或相同的项。
图I是可操作来采用本文讨论的技术的示例实现方式中的环境的例图。
图2是可操作来采用本文讨论的技术的示例实现方式中的授权环境的例图。
图3是描述其中用户能够授权应用访问用户资源的示例实现方式中的程序的流程图。
图4是描述其中持续验证模式用于资源访问的示例实现方式中的程序的流程图。
图5是描述其中应用被证实参与授权事务的示例实现方式中的程序的流程图。
图6是描述其中本地授权信息用于确定是否授权应用访问用户资源的示例实现方式中的程序的流程图。
图7示出包括如参考图1、2和8所描述的计算设备的示例系统。
图8示出能够被实现为如参考图1、2和7所描述的任何类型的便携式和/或计算设备来实现本文描述的技术的实施例的示例设备的各种组件。
具体实施方式
鐘述描述用于资源访问授权的技术。在一个或多个实现方式中,这些技术可以被采用来授权应用访问用户资源,同时保护诸如用户名和/或口令之类的用户证书(user credential)不受非授权实体的损害。例如,能够利用访问代理,其中访问代理充当正在请求访问用户资源的应用与能够确认用户的身份并允许访问用户资源的授权实体之间的中介(intermediary)。用户资源的示例包括用户内容(例如图像、音频、视频等等)、用户数据 (例如文件)、用于应用的用户简档(profile)和/或服务等等。
在实现方式中,访问代理允许应用被授权实体授权,以允许应用访问用户资源。例如,应用能够调用访问代理,其中访问代理与授权实体通信,以导致与授权实体相关联的用户接口被呈现。用户能够向用户接口提供验证信息,诸如用户名和口令。如果用户名和口令与授权实体已知的用户简档相匹配的话,则授权实体向访问代理返回授权信息。在实现方式中,授权提示能够被呈现给用户,其中授权提示允许用户为应用访问用户资源提供授权。 访问代理能够允许应用借助于授权信息来访问用户资源。
进一步针对实施例,能够利用持续验证模式,其中该模式允许应用在多个单独的事务期间访问用户资源而不要求用户为每一个事务提供验证信息。例如,当用户向授权服务提供验证信息以允许应用访问用户资源时,应用和/或用户能够请求持续验证模式。验证信息连同其他信息一起能够(例如通过访问代理)被缓存为用于应用的缓存的验证状态的一部分。
当应用在后续事务期间请求访问用户资源时,访问代理将该请求连同缓存的验证状态一起转发给授权服务。授权服务基于缓存的验证状态确定该应用先前被用户授权访问用户资源,并返回用于该应用的访问令牌和应用标识符给访问代理。在实现方式中,授权服务能够在向访问代理返回授权的指示之前请求用户授权(例如,借助于授权提示)。
访问代理检查以查看从授权服务接收的应用标识符是否与该应用正在其上面运行的计算设备所提供的用于该应用的系统级标识符相匹配。如果这些标识符匹配的话,则访问代理提供访问令牌给该应用。该应用能够使用访问令牌来访问用户资源。如果这些标识符不匹配的话,则可以拒绝该应用访问资源,和/或可以提示用户提供验证信息以允许该应用访问用户资源。
如在本文所使用的,术语“授权” 一般指的是用于允许应用和其他实体访问资源的技术,且不限于特定的协议、程序、惯例或标准。因而,该术语将被广义地解释为包括在本文讨论的实施例的精神和范围之内的任何合适技术。
在以下的讨论中,首先描述可操作来采用本文描述的资源访问授权技术的示例环境。随后描述可以在示例环境中以及在其他环境中采用的牵涉资源访问授权技术的示例程序。相应地,这些示例环境并不限于执行示例程序。同样,这些示例程序也不限于在示例环境中的实现方式。最后,描述可操作来根据一个或多个实施例采用本文讨论的技术的示例系统和设备。
示例环塏图I是可操作来采用用于资源访问授权的技术的示例实现方式中的环境100的例图。 环境100包括计算设备102,其具有一个或多个处理器104、一个或多个计算机可读存储媒体106以及驻留在计算机可读存储媒体106上并且是处理器104可执行的一个或多个应用108。计算设备102能够被实施为任何合适的计算设备,通过示例而非限制,诸如台式计算机、便携式计算机、诸如个人数字助理(PDA)之类的手持计算机、移动电话、平板计算机等等。下面在图7和8中显示并描述计算设备102的各种不同示例之中的一个。
图I的计算设备102也被说明为包括浏览器110,例如web浏览器,其代表被配置成借助于网络112导航的功能。虽然网络112被说明为因特网,但是该网络可以采用各种各样的配置。例如,网络112可以包括广域网(WAN)、局域网(LAN)、无线网络、公共电话网络、 内联网等等。进一步,虽然显示单个网络112,但是网络112可以被配置成包括多个网络。
例如,浏览器110可以被配置成借助于网络112来导航,以便与从一个或多个web 资源114可获得的内容进行交互以及将数据传送至一个或多个web资源114,例如,执行下载和上传。web资源114可以包括被配置成提供借助于网络112可访问的内容的任何合适的计算资源。这样的内容的示例包括网页、文本内容、视频、音频等等。
应用108之中的一个或多个也可以被配置成访问网络112,例如它们自己直接访问网络和/或通过浏览器110来访问网络。例如,应用108之中的一个或多个可以被配置成访问一个或多个web资源114,以检索和/或上传内容。因而,应用108也可以被配置用于可能牵涉直接的或间接的网络112访问的各种功能。例如,应用108可以包括可以由应用108本地利用(leverage)以及与在另一计算设备上执行的应用同步的配置设置和其他数据。这样,这些设置可以被这些设备共享。也设想各种其他的实例。因而,计算设备102 可以采用各种方式与来自各种不同源的内容进行交互。
进一步被说明为计算设备102的一部分的是操作系统116,其代表管理计算设备 102的资源以及提供对计算设备102的功能的访问的功能。在实现方式中,操作系统116保持能够用于实现本文讨论的技术的用于应用108的标识信息。例如,当在计算设备102上安装和/或启动应用108之一时,计算设备能够记录用于应用的系统应用标识符。系统应用标识符能够存储在计算设备102中对于应用108而言不是可访问和/或可操纵的部分诸如受保护的数据库、用于操作系统116的核心等等中。附加地或选择地,系统应用标识符能够被数字签名,以致该应用不能修改该标识符。
计算设备102在所示的示例中也被显示为包括访问代理模块118,其中访问代理模块代表调解(mediate)用于应用108的授权和验证事务的计算设备102的功能。访问代理模块118被配置成在授权事务中所牵涉的实体之间传送各种形式的授权和验证信息。在实施方式中,访问代理模块被配置成借助于浏览器功能来传送信息,并因而能够与浏览器 110进行组合和/或被实施为浏览器110。
进一步针对这样的授权事务,环境100包括授权服务120,其代表追踪用户简档并且与访问代理模块118交互以确定是否应用108和/或其他实体被授权访问用户资源的功能。例如,授权服务120能够被实现为基于web的授权服务,其能够被多个用户和多个不同设备访问来进行授权和/或验证事务。在实施方式中,授权服务120能够保持用于诸如应用108之类的各种应用的应用标识符。例如,上文讨论的用于特定一个应用108的系统应用标识符能够被传送至授权服务120,例如,作为该应用注册授权服务的一部分。授权服务 120能够存储将被用作本文讨论的资源访问操作的一部分的应用标识符。
进一步针对这样的实施例,环境100包括用户资源122,其代表与计算设备102的用户相关联的资源。用户资源122的示例包括用户内容(例如图像、音频、视频等等)、用户数据(例如文件)、用于应用的用户简档和/或服务等等。
虽然授权服务120和用户资源122被说明成单独的实体,但是在一些实现方式中, 用户资源122能够利用授权服务120来管理和/或保持。例如,授权服务120能够与管理用户资源122的某种类型的内容服务诸如社交网络服务、照片共享服务、网络日志(博客) (blog)服务等等相关联。在这样的实现方式中,授权服务120可以被实现来向内容服务以及向可以与内容服务交互的其他服务(例如,应用108 )验证用户。
在实现方式中,当访问代理模块118确定应用108之一被授权访问用户资源122 时,访问代理模块118向该应用提供访问令牌或其他授权机制。该应用能够利用访问令牌或其他授权机制来访问用户资源122。因而,访问令牌或其他授权机制能够被采用来允许应用108和/或其他实体访问用户资源122。
通常,本文描述的任何功能能够使用软件、固件、硬件(例如,固定逻辑电路)或这些实现方式的组合来实现。如在本文使用的术语“模块”和“逻辑”通常代表软件、固件、硬件或其组合。在软件实现方式的情况下,模块、功能或逻辑代表当在处理器(例如,一个或多个CPU)上执行时执行指定任务的程序代码。程序代码能够存储在一个或多个计算机可读存储设备中。下述的技术的特性是与平台无关的,这意味着这些技术可以在具有各种处理器的各种商用计算平台上实现。
例如,计算设备102也可以包括导致计算设备102的硬件执行操作的实体(例如软件),例如处理器、功能块等等。例如,计算设备102可以包括计算机可读介质,其可以被配置成保持导致计算设备并且尤其导致计算设备102的硬件执行操作的指令。因而,这些指令用于将硬件配置成执行操作,并且以这种方式导致硬件的变换来执行功能。这些指令可以由计算机可读介质通过各种不同的配置提供给计算设备102。
计算机可读介质的一种这样的配置是信号承载介质,并因而被配置成将指令(例如,作为载波)诸如经由网络发送至计算设备的硬件。计算机可读介质也可以被配置成计算机可读存储介质,并因而不是信号承载介质。计算机可读存储介质的示例包括随机访问存储器(RAM)、只读存储器(ROM)、光盘、闪存、硬盘存储器以及可以使用磁、光和其他技术来存储指令和其他数据的其他存储设备。
图2—般在200示出根据一个或多个实现方式的示例授权环境。作为授权环境200 的一部分被包括的是显示屏202,其中显示屏能够被包括作为计算设备102的一部分。在实现方式中,显示屏202可以或不可以被配置成接收物理输入,例如触摸输入或触控笔输入。 在显示屏202上呈现的是与例如应用108之类的应用相关联的应用用户界面204。
为了允许用户为应用访问用户资源提供授权,提供授权用户界面206。在实现方式中,授权用户界面206能够例如响应于应用108被打开而被自动地显示。例如,当用户启动应用108时,访问代理模块118能够与浏览器110和/或授权服务120通信,以导致授权用户界面206被显示。例如,授权服务120能够向web浏览器110提供授权用户界面206,例如,作为网页。选择地或附加地,用户能够通过选择登录按钮或与应用用户界面204相关联6的其他控制器(未示出)而导致授权用户界面206被启用(launch)。
在实现方式中,授权用户界面206能够是关于应用用户界面204的模态(modal)。 例如,能够阻止应用用户界面204接收输入和/或被关闭,直至授权用户界面206例如响应于针对授权界面的用户输入而被消除(dismiss)。
被说明为授权用户界面206的一部分的是用户名字段208和口令字段210。用户名字段208被配置成从用户接收用户名和/或其他识别标记(例如,用户电子邮件)。此外, 口令字段210被配置成从用户接收口令。在实现方式中,用户名和口令与用户的用户简档例如先前利用授权服务120建立的用户简档相关联。因而,向授权用户界面206提供用户名和口令能够将用户验证为被授权访问特定用户简档和/或与用户简档相关联的用户资源。
进一步被说明为授权用户界面206的一部分的是登录控制器212,其在被选择的情况下提交提供给授权用户界面206的登录信息。例如,提供给用户名字段208的用户名以及提供给口令字段210的口令能够响应于登录控制器212的选择而被提交给授权服务120。
授权用户界面206也包括取消控制器214,其在被选择的情况下能够导致授权事务被取消和/或导致授权用户界面206被关闭。
进一步被包括作为授权用户界面206的一部分的是可选择来激活持续验证模式的持续登录选项216。在实现方式中,持续验证模式能够由用户(例如,经由持续登录选项 216的选择)和/或由另一实体诸如应用108和/或访问代理模块118来激活。在上面和下面更详细地讨论与持续验证模式相关的进一步细节。
由于已描述了本文描述的技术可以在其中操作的示例环境,所以现在考虑根据一个或多个实施例的一些示例程序的讨论。
示例稈序以下讨论描述可以利用本文描述的系统和设备实现的资源访问授权技术。这些程序之中的每一个的方面可以以硬件、固件或软件或其组合来实现。这些程序被显示为指定由一个或多个设备执行的操作的块集合,并且不一定限于所显示的用于由相应的块执行操作的顺序。进一步,针对特定程序显示的操作根据一个或多个实现方式与不同程序的操作进行组合和/或互换。在以下讨论的部分中,将参考图I和2的环境100和/或200。
图3描述其中用户能够授权应用访问用户资源的示例实现方式中的程序300。步骤302检测允许应用访问用户资源的请求。例如,访问代理模块118能够从应用108接收对于访问用户资源122的请求。选择地或附加地,该请求能够在应用发起访问用户资源的请求之前从该应用之外的实体接收。例如,实体能够提前获得对于该应用访问用户资源的许可。在实现方式中,计算设备102和/或浏览器110的某些部分能够存储用户标识信息, 诸如登录信息、验证和/或授权cookie (饼干)、用户名、口令等等。为了防止应用108获得对这样的标识信息的未经授权的访问,访问代理模块118能够例如响应于从该应用接收到请求而从对于该应用108而言是可访问的计算设备102的部分中清除该标识信息。
步骤304将包括应用标识符的授权请求转发到授权实体。例如,访问代理模块118 能够与浏览器Iio通信,以引起授权请求从浏览器转发到授权服务120。在实现方式中,授权请求能够包括用于授权服务120的统一资源定位符(URL),其中统一资源定位符包括应用标识符和重定向地址(例如,能够用于向应用返回信息的统一资源标识符(URI))。这样的 URL 的一个不例能够是 “https ://www. authozationservice. com/requestAccess. html applicationID=X&redirectAddress=http: //redirect, com,,。
在实现方式中,授权服务120接收授权请求,并且导致授权用户界面206借助于浏览器110来呈现。用户随后能够向授权用户界面206提供验证信息,例如用户名和口令。附加地或选择地,用户能够例如借助于授权用户界面206来提供对于应用访问用户资源的同O
步骤306从授权实体接收指示用户授权的响应,该响应包括应用标识符。例如,提供给授权用户界面206的验证信息被提交给授权服务120,该授权服务确定验证信息与授权服务已知的用户简档相匹配。授权服务120向访问代理模块118发送针对授权请求的回复。在实现方式中,该回复包括应用标识符,并且能够包括附加信息,诸如能够用于访问用户资源的访问令牌。
在选择持续验证模式的情况下,步骤308缓存该应用的验证状态。例如,用户能够例如借助于授权用户界面206来选择持续验证模式作为提供用户证书的一部分。如果选择持续验证状态,例如由访问代理模块118缓存验证状态。缓存的验证状态能够包括验证以及允许应用在针对访问用户资源的后续请求期间访问用户资源而不要求用户执行进一步验证的其他信息。下面讨论持续验证模式的进一步方面。如果没有选择持续验证模式,则不缓存验证状态以供后续使用,和/或作为后续资源访问请求的一部分可以请求用户验证。
步骤310将从授权实体接收的应用标识符与计算设备所保持的系统应用标识符进行比较。例如,系统应用标识符能够是将该应用与计算设备的其他应用和/或资源区分开来的唯一标识符。在上面呈现系统应用标识符的进一步讨论。
如果从授权实体接收的应用标识符与系统应用标识符匹配(“Match (匹配)”)的话,步骤312给应用提供允许访问用户资源的令牌。在实现方式中,访问代理模块118能够从授权服务120接收该令牌,并将该令牌转发到应用108。应用108能够使用该令牌来访问用户资源。如果从授权实体接收的应用标识符与系统应用标识符不匹配(“Does not Match (不匹配)”)的话,步骤314阻止该应用访问该令牌。因而,由于针对用户资源的访问能够被限制于呈现该令牌的应用,所以该应用不可以访问用户资源。
图4描述其中持续验证模式用于用户资源访问的示例实现方式中的程序400。根据一个或多个实施例,程序400能够作为上面在图3中讨论的程序之后的资源访问请求的一部分来执行。
步骤402检测到在计算设备上执行的应用正在借助于持续验证模式来请求访问用户资源。上面讨论启动持续验证模式的示例方式。步骤404向授权实体转发包括应用标识符的授权请求。例如,访问代理模块118能够从应用接收授权请求,并将上述的缓存的验证状态信息转发至授权服务120。
在实现方式中,授权请求能够包括指示正在使用持续验证模式的定制统一资源标识符(URI)方案。例如,用于导航至授权服务120的URL (其示例在上文被讨论)能够被附上定制URI方案。定制URI方案能够包括应用标识符以及特定于持续验证模式的标记,例如“persisted://application_id”。在实现方式中,访问代理模块118能够规定定制URI 方案将由应用用于为该应用实现的持续验证方案。
步骤406从授权实体接收授权确认,该授权确认包括应用标识符和访问令牌。在实现方式中,授权确认能够至少部分基于用户为应用访问用户资源提供授权、例如借助于由授权实体提供的授权提示来接收。授权实体能够(例如基于来自授权请求的应用标识符) 辨别该授权请求来自被授权访问用户资源的应用。例如,该应用可能先前已借助于与授权实体的用户交互而被授权访问用户资源。进一步针对这样的实现方式,授权实体能够向访问代理模块118返回作为授权请求的一部分提供的定制URI以及附到定制URI上的访问令牌。
步骤408将应用标识符与计算设备所保持的用于该应用的系统应用标识符进行比较。在上面呈现有关匹配应用标识符的细节。如果从授权实体接收的应用标识符与系统应用标识符匹配(“匹配”)的话,步骤410提供允许应用访问用户资源的令牌。例如,访问代理模块118能够从授权服务120接收验证令牌,并能够将验证令牌提供给应用108。应用 108能够使用验证令牌来访问用户资源122。
如果从授权实体接收的应用标识符与系统应用标识符不匹配(“不匹配”)的话,步骤412拒绝该应用访问该令牌。
因而,在实现方式中,持续验证模式允许是否应用被授权访问用户资源的确定独立于用户验证事务和/或例如与授权服务进行的用户交互而作出。
图5描述其中作出是否应用可以参与授权事务的确定的示例实现方式中的程序 500。步骤502从应用接收应用标识符作为访问用户资源的请求的一部分。步骤504将应用标识符与计算设备所保持的用于该应用的系统应用标识符进行比较。关于匹配应用标识符的细节在上面呈现。在实现方式中,访问代理模块118能够从该应用接收应用标识符,并且向操作系统116查询用于该应用的系统应用标识符。访问代理模块118能够随后将应用标识符与系统应用标识符进行比较,以确定它们是否匹配。
如果从应用接收的应用标识符与系统应用标识符不匹配(“不匹配”)的话,步骤 506阻止该应用继续进行授权事务。如果从应用接收的应用标识符与系统应用标识符匹配 (“匹配”)的话,步骤508继续进行授权事务。在本文的其他位置参考图3、4和6讨论示例授权事务。
图6描述其中使用本地授权信息来确定是否授权应用访问用户资源的示例实现方式中的程序600。步骤602从授权实体接收包括应用标识符和授权实体标识符的应用授权信息。例如,能够响应于用户利用授权服务进行验证以及对于应用访问用户资源122提供许可而从授权服务120接收授权信息。在上文讨论提供用户验证和用户许可的示例方式。在实现方式中,授权实体标识符允许其他实体(例如,访问代理模块118)识别从哪一个授权实体接收到授权信息。
步骤604本地存储授权信息。在实现方式中,授权信息能够由访问代理模块118 存储和/或存储在访问代理模块可访问的位置中。步骤606从应用接收对于授权访问用户资源的请求,该请求包括授权实体标识符。例如,访问代理模块118能够从应用108接收该请求。
步骤608基于从应用接收到的授权实体标识符本地检索授权信息,并且将授权信息中的应用标识符与用于该应用的系统应用标识符进行比较。比较应用标识符和系统应用标识符的示例方式在上面进行讨论。步骤610确定应用标识符是否与系统应用标识符相匹配。
如果应用标识符匹配系统应用标识符(“匹配”)的话,步骤612向该应用提供允许访问用户资源的令牌。如果应用标识符与系统应用标识符不匹配(“不匹配”)的话,步骤614 阻止该应用访问该令牌。
在实现方式中,程序600示出能够用于确定对于应用访问用户资源的授权而不需要在应用运行时与授权服务进行通信的示例技术。例如,用户能够与授权服务交互,以授权应用访问用户资源。例如,如上在步骤602和604中所讨论的,用户授权事务中的信息随后能够被存储,以供后续检索。进一步针对来自应用的对于访问用户资源的后续请求,访问代理模块118能够在不与授权服务通信的情况下使用本地存储的授权信息来确定是否允许应用访问用户资源。
在至少一些实施例中,应用能够保持持续授权模式,其中持续授权模式在一个或多个方面不同于上述的持续验证模式。例如,应用能够保持允许该应用访问用户资源的令牌,诸如借助于上述的技术接收的令牌。该令牌能够允许在多个不同的资源访问事务期间访问用户资源,例如,以响应来自该应用的访问用户资源的多个不同的请求。当该应用在试图使用该令牌来访问用户资源时,该应用能够查明该令牌是否过期,以致它对于允许访问用户资源而言不再是有效的。如果该令牌已过期,该应用能够使用上述的技术诸如从访问代理模块118和/或授权服务120获得新的有效的令牌。因而,在实现方式中,持续授权模式能够允许应用在多个资源访问事务期间访问用户资源,而不要求该应用例如借助于访问代理模块118和/或授权服务120来请求该访问。
TK例系统和设备图 示出包括如参考图I和2描述的计算设备102的示例系统700。示例系统700当在个人计算机(PO、电视设备和/或移动设备上运行应用时为了无缝用户体验而启用普适环境。当在利用应用、播放视频游戏、观看视频等等的同时从一个设备过渡到另一个设备时,服务和应用在所有三种环境中为了共同用户体验而以实质上相似的方式运行。
在示例系统700中,多个设备通过中央计算设备进行互连。中央计算设备对于这多个设备而言可以是本地的,或者可以远离这多个设备进行定位。在一个或多个实施例中, 中央计算设备可以是通过网络、因特网或其他数据通信链路连接到这多个设备的一个或多个服务器计算机的云(cloud)。在一个或多个实施例中,这种互连架构允许在多个设备上传递功能,以便给这多个设备的用户提供共同的且无缝的体验。这多个设备中的每一个可以具有不同的物理属性和能力,并且中央计算设备使用平台,以允许针对该设备定制并且对于所有设备也是共同的体验传递至该设备。在一个实施例中,目标设备的类别被创建并且针对该通用类别的设备来定制体验。设备的类别可以利用物理特性、使用的类型或这些设备的其他共同特征来定义。
在各种实现方式中,计算设备102可以采用各种不同的配置,诸如用于计算机 702、移动站704和电视706使用。这些配置之中的每一种配置包括通常可能具有不同的结构和能力的设备,并因而计算设备102可以依照不同设备类别之中的一个或多个来配置。 例如,计算设备102可以被实现为包括个人计算机、台式计算机、多屏计算机、膝上型计算机、上网本等等的设备中的计算机702类别。
计算设备102也可以被实现为移动站704设备类别,其包括移动设备,诸如移动电话、便携式音乐播放器、便携式游戏设备、平板计算机、多屏计算机等等。计算设备102也可以被实施为电视706设备类别,其包括具有或连接到在随意查看环境中通常较大屏幕的设备。这些设备包括电视、机顶盒、游戏机等等。本文描述的技术可以利用计算设备102的这些不同配置来支持,并且不限于本文描述的技术的特定示例。
云708包括和/或代表用于内容服务712的平台710。平台710抽象化(abstract) 云708的硬件(例如,服务器)和软件资源的底层功能。内容服务712可以包括能够在远离计算设备102的服务器上执行计算机处理的同时利用的应用和/或数据。内容服务712能够在因特网上和/或通过用户网络诸如蜂窝或Wi-Fi网络作为服务来提供。
平台710可以抽象化资源和功能,以便将计算设备102与其他计算设备连接。平台710也可以用于抽象化资源的缩放(scaling),以便给遇到的对于借助于平台710实现的内容服务712的需求提供相应水平的缩放。相应地,在互连设备实施例中,本文描述的功能的实现方式可以分布于整个系统700。例如,如通过包含应用108、浏览器110和访问代理模块118所显示的,功能可以部分在计算设备102上实现以及借助于抽象化云708的功能的平台710来实现。
图8示出能够被实现为如参考图I和7所描述的任何类型的计算设备的示例设备 800的各种组件,以实现本文描述的技术的实施例。设备800包括允许设备数据804 (例如接收的数据、正在接收的数据、预定用于广播的数据、数据的数据分组等等)的有线和/或无线通信的通信设备802。设备数据804或其他设备内容能够包括设备的配置设置、存储在设备上的媒体内容和/或与设备的用户相关联的信息。存储在设备800上的媒体内容能够包括任何类型的音频、视频和/或图像数据。设备800包括一个或多个数据输入806,其中借助于这一个或多个数据输入,能够接收任何类型的数据、媒体内容和/或输入,诸如用户可选择的输入、消息、音乐、电视媒体内容、记录的视频内容以及从任何内容和/或数据源接收的任何其他类型的音频、视频和/或图像数据。
设备800也包括通信接口 808,其能够被实现为任何一个或多个串行和/或并行接口、无线接口、任何类型的网络接口、调制解调器以及被实现为任何其他类型的通信接口。 通信接口 808在设备800与通信网络之间提供连接和/或通信链路,其他电子、计算和通信设备利用所述连接和/或通信链路与设备800传送数据。
设备800包括一个或多个处理器810 (例如微处理器、控制器等等中的任何一个), 其处理各种计算机可执行指令来控制设备800的操作和实现本文描述的技术的实施例。选择地或附加地,设备800能够利用硬件、固件或结合一般在812标识的处理与控制电路实现的固定逻辑电路中的任何一个或组合来实现。虽然没有显示,但是设备800能够包括耦合设备内的各种组件的系统总线或数据传输系统。系统总线能够包括不同总线结构中的任何一个或组合,诸如存储器总线或存储控制器、外围总线、通用串行总线和/或利用各种总线结构中的任何一种的处理器或本地总线。
设备800也包括计算机可读媒体814,诸如一个或多个存储器组件,其示例包括随机访问存储器(RAM)、非易失性存储器(例如只读存储器(ROM)、闪存、EPROM、EEPROM等等中的任何一个或多个)以及盘存储设备。盘存储设备可以被实现为任何类型的磁或光存储设备来实施,诸如硬盘驱动器、可记录和/或可重写紧凑型碟片(CD)、任何类型的数字多用途盘(DVD)等等。此外,设备800也能够包括大容量存储媒体设备816。
计算机可读媒体814提供数据存储机制来存储设备数据804以及各种设备应用 818和与设备800的操作方面相关的任何其他类型的信息和/或数据。例如,操作系统820能够利用计算机可读媒体814被保持为计算机应用并在处理器810上被执行。设备应用 818能够包括设备管理器(例如控制应用、软件应用、信号处理与控制模块、对于特定设备是本机的代码、用于特定设备的硬件抽象层等等)。设备应用818也包括任何系统组件或模块来实现本文描述的技术的实施例。
在这个示例中,设备应用818包括被显示为软件模块和/或计算机应用的接口应用822与输入/输出模块824。输入/输出模块824代表用于提供与被配置成捕获输入的设备对接的接口的软件,诸如触摸屏、轨迹板、相机、麦克风等等。选择地或附加地,接口应用822和输入/输出模块824能够被实现为硬件、软件、固件或其任何组合。附加地,输入/ 输出模块824可以被配置成支持多个输入设备,诸如单独的设备来分别捕获视觉和音频输入。
设备800也包括音频和/或视频输入-输出系统826,其向音频系统828提供音频数据和/或向显示系统830提供视频数据。音频系统828和/或显示系统830能够包括处理、显示和/或以其他方式再现音频、视频和图像数据的任何设备。视频信号和音频信号能够借助于RF (射频)链路、S-视频链路、复合视频链路、分量视频链路、DVI (数字视频接口)、模拟音频连接或其他类似的通信链路从设备800传送至音频设备和/或显示设备。在头施例中,首频系统828和/或显不系统830被头现为设备800的外部组件。选择地,首频系统828和/或显示系统830被实现为示例设备800的集成组件。
结论描述用于资源访问授权的技术。虽然以特定于结构特性和/或方法动作的语言描述实施例,但是将明白在所附的权利要求书中定义的实施例不一定限于所描述的具体特性或动作。相反,这些具体特性和动作被披露为实现所请求保护的实施例的示例形式。
权利要求
1.一种计算机实现的方法,包括 从授权实体接收对于是否允许应用访问用户资源的请求的响应,所述响应包括用于所述应用的应用标识符;以及 如果所述应用标识符与从所述应用正在其上面执行的计算设备获得的系统应用标识符匹配的话,则给所述应用提供允许访问用户资源的令牌。
2.如权利要求I所述的方法,其中所述请求包括重定向统一资源标识符(URI),所述重定向统一资源标识符识别所述应用并被转发到授权实体,以便被使用来返回所述应用标识符。
3.如权利要求I所述的方法,其中所述请求发生在持续验证模式中,所述持续验证模式允许所述应用独立于与授权实体进行的用户验证而被授权来访问用户资源。
4.如权利要求I所述的方法,其中所述授权实体包括远离计算设备实现的服务。
5.如权利要求I所述的方法,进一步包括借助于以下之中的一个或多个来获得所述系统应用标识符 从对于所述应用而言是不可访问的计算设备的部分中获得所述系统应用标识符;或者 对所述系统应用标识符签名,以致它不能被所述应用修改。
6.如权利要求I所述的方法,其中所述令牌能够被使用来作为访问用户资源的一个或多个后续请求的部分来访问用户资源。
7.一种计算机实现的方法,包括 保持能够被使用来允许应用访问用户资源的用于应用的缓存的验证状态; 将缓存的验证状态的一个或多个部分转发到授权服务,以响应请求,从而允许所述应用访问用户资源;以及 通过将从授权服务接收的应用标识符与从计算设备获得的用于所述应用的系统应用标识符进行比较,确定是否给所述应用提供允许访问用户资源的令牌。
8.如权利要求7所述的方法,其中从授权服务接收所述应用标识符,以响应用户与授权服务进行的验证,从而指示所述应用被许可访问用户资源。
9.如权利要求7所述的方法,其中所述比较发生在所述应用的应用运行时并且独立于与授权服务进行的交互。
10.如权利要求7所述的方法,进一步包括 从所述应用接收对于访问用户资源的请求; 响应于所述请求,导致与授权服务相关联的授权用户界面被呈现,所述授权用户界面被配置成从用户接收用户验证信息;和 基于用户借助于授权用户界面与授权服务进行的验证,从授权服务接收应用标识符。
11.一个或多个计算机可读存储媒体,包括在其上面存储的指令,所述指令响应于由计算设备执行而导致所述计算设备执行如权利要求1-10之中任何一项权利要求所述的方法。
全文摘要
本发明描述用于资源访问授权的技术。在一个或多个实现方式中,应用标识符由应用用于控制对用户资源的访问。通过将从授权服务接收的应用标识符与从该应用正在其上面执行的计算设备获得的用于该应用的系统应用标识符进行比较,作出是否允许该应用访问用户资源的确定。
文档编号H04L29/06GK102984199SQ20121033589
公开日2013年3月20日 申请日期2012年9月12日 优先权日2011年9月12日
发明者O.V.奥巴桑约, S.R.戈登, A.拉杜茨基, P.J.哈林, A.D.奥斯科夫, J.D.维加斯, D.C.基钦纳 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1