CN107533604B - 用于无经纪人应用的单次登录的方法和设备 - Google Patents

用于无经纪人应用的单次登录的方法和设备 Download PDF

Info

Publication number
CN107533604B
CN107533604B CN201680021185.1A CN201680021185A CN107533604B CN 107533604 B CN107533604 B CN 107533604B CN 201680021185 A CN201680021185 A CN 201680021185A CN 107533604 B CN107533604 B CN 107533604B
Authority
CN
China
Prior art keywords
application
applications
authentication
associated applications
authentication state
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
Application number
CN201680021185.1A
Other languages
English (en)
Other versions
CN107533604A (zh
Inventor
何嘉乐
夏立庆
A·J·伦迪恩
D·萨伯蒂克
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN107533604A publication Critical patent/CN107533604A/zh
Application granted granted Critical
Publication of CN107533604B publication Critical patent/CN107533604B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0815Network architectures or network communication protocols for network security for authentication of entities providing single-sign-on or federations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/41User authentication where a single sign-on provides access to a plurality of computers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/108Network architectures or network communication protocols for network security for controlling access to devices or network resources when the policy decisions are valid for a limited amount of time
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

便于实现在具有沙盒应用的设备上单次登录。一种方法包括:标识多个相关联的应用。评估准则以标识主要应用。认证状态存储在主应用处。认证状态的一个或多个部分可以被多个相关联的应用中的应用用于认证。

Description

用于无经纪人应用的单次登录的方法和设备
背景技术
计算机和计算机系统几乎影响了现代生活的每个方面。计算机通常涉及工作、休闲、医疗保健、交通、娱乐、家庭管理等。
在当前计算环境中,诸如智能电话、平板电脑、可穿戴式计算机等之类的用户设备无处不在。典型地,这些用户设备能够使得各种应用(有时被称为pas应用)在其上被安装。每个应用可能具有可以提供给用户的一些特定功能。通常,这些应用与用户账户相关联,以向用户提供个性化体验。例如,电子邮件应用为用户提供对其个人电子邮件的访问。社交媒体应用允许用户发布个人消息并且接收个人消息。VoIP应用可以具有相关联的用户账户,该用户账号允许用户使用其个人信息进行通信。
为了使用这些应用和与它们相关联的个性化特征,用户需要通过向在设备外部的外部身份提供商认证用户,来登录到应用中。这是通过以下来完成:从设备上的应用,向身份提供商提供认证信息,以便认证用户并且允许个性化的用户体验。知道用户已经被认证的身份提供商和/或相关实体可以提供个性化信息和用户体验。现代设备能够为用户托管大量的应用。如果设备上有大量此类应用,则在给定设备上手动认证所有应用中的用户可能需要相当大的努力。
单次登录(SSO)是一种特征,其允许用户仅在用户第一次使用需要与身份提供商进行认证的应用中的一个应用时,才将认证信息录入到计算系统中的一个应用中,该认证信息诸如他们的凭证(例如,用户名和密码)。使用该身份提供商的任何后续应用将基于从第一认证操作获得的状态而自动登录。然而,某些沙盒(sandbox)设备和/或平台具有用于启用和使用SSO的各种容器。例如,加利福尼亚州Cupertino谷歌公司提供的
Figure GDA0002356040790000011
平台需要在系统上提供特定经纪人应用或与身份提供商相关联的英雄应用,以启用SSO功能。使用经纪人应用执行任何认证。如果在设备上不能提供特定应用,在与身份提供商相关联的设备上安装的其他应用都不能使用SSO。然而,一些身份提供商可能没有经纪人应用。特别地,典型地,经纪人应用将是广泛使用的应用程序,使得非常高百分比(例如,所有设备的80%至90%)的设备可能安装有经纪人应用。一些身份提供商可能根本没有这样的应用。
可替代地,SSO可以通过使得在相同的沙盒或安全容器中具有应用来实现。例如,在使用基于证书的沙盒的系统中,可以通过使用相同的发布证书为身份提供商签名所有应用,来完成此操作。然而,一些身份提供商可能具有使用不同发布证书而签名的应用。例如,这可能是由于历史考虑因素,诸如业务和应用收购或出于其他原因。
本文中所要求保护的主题不限于解决任何缺点或仅在诸如上文所描述的环境之类的环境中操作的实施例。相反,仅提供该背景技术以说明可以实践本文中所描述的一些实施例的一个示例性技术领域。
发明内容
本文中所说明的一个实施例包括一种方法,该方法可以在计算环境中被实践。该方法包括动作,该动作便于实现在具有沙盒应用的设备上的单次登录,所述沙盒应用在限制应用之间的交互的容器中。该方法包括:标识多个相关联的应用。准则被评估以确定主应用。认证状态被存储在主应用中。认证状态的一个或多个部分可以被多个相关联的应用中的应用用于认证。
提供本发明内容以简化的形式介绍下文在具体实施方式中进一步描述的概念的选择。本发明内容不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。
附加的特征和优点将在下面的描述中阐述,并且部分地将从描述中显而易见,或者可以通过本文中的教导的实践而被了解。本发明的特征和优点可以借助于所附权利要求中特别指出的装置和组合来实现和获得。从下面的描述和所附权利要求中,本发明的特征将变得更加显而易见,或者可以通过如下文所阐述的本发明的实践而被了解。
附图说明
为了描述可以获得上述和其它优点和特征的方式,将通过参考附图中所示的具体实施例,呈现上文简要描述的主题的更具体的描述。理解这些附图仅描绘了典型的实施例,因此不被认为是对范围的限制,将通过使用附图,以附加的特征和细节来描述和解释实施例,其中:
图1图示了使用沙盒平台实现的设备,其中该设备被配置成执行单次登录功能;
图2图示了关于使用沙盒平台实现的并且被配置成执行单次登录功能的设备的附加细节;
图3图示了便于实现在具有沙盒应用的设备上的单次登录的方法;
图4图示了示例沙盒计算系统;以及
图5图示了可以在其上实现本发明的实施例的通用计算系统。
具体实施方式
本文中所描述的实施例可以用于在具有沙盒应用的平台上开发的设备上实现单次登录(SSO)。沙盒应用是在某些安全容器(即,沙盒)内运行的应用,并且与不在同一安全容器内的应用只有有限的通信。可以通过标识与特定身份提供商相关联的多个应用,来实现该环境中的SSO,而不管其中应用安装在设备上的安全容器。选举算法将多个应用中的一个应用标识为主应用。认证状态被存储在主应用中。认证状态包括可以由应用用来认证应用的认证信息。多个应用中的应用中的每个应用能够执行选举算法(或至少能够访问选举算法的结果)以标识主应用。这允许多个应用中的应用获得可以由多个应用中的应用来使用的认证信息,以从与身份提供商相关联的服务提供商获得服务。
参与SSO的每个应用将展示(expose)一种服务,该服务使得其认证数据可用于设备上的其他启用SSO的应用,并且应用将彼此连接以交换信息。经由内置平台软件包管理系统,可以通过对照受信证书列表检查其签名证书公钥,来将对这些SSO服务的访问约束至某些应用。如果在设备上安装了多个启用SSO的应用,则一个应用可以通过相互认可的选择算法而被标识为“主应用”。其他应用将被指定为“非主应用”,并且诸如经由进程间通信(IPC)向主使用模式代理API请求。还实现备份系统,以便即使当卸载主应用时或当安装新应用并且成为主应用时,还是允许基于选择算法来保留数据。
单个主算法的选择可以提供优于多个主设计的优点。例如,实施例可以表现出改进的性能。例如,一对一通信意味着更少的IPC调用。从用户角度,这可以使得系统能够更快地运行。附加地,这可以允许改善功耗特点,这是因为执行较少计算,并且因此减少了设备的功耗。实施例可以简化一致性,这是因为存在权威数据的单个来源。实施例可以包括对诸如基于生物测定的认证或基于证书的认证之类的未来认证机构的支持,其中认证请求被委派给维护相关状态的单个应用(诸如仅可由单个应用访问的证书存储装置)。
现在参考图1,图示了一个示例。图1图示了设备102。设备102是基于沙盒的平台。这样的平台可能是可从加利福尼亚州Cupertino谷歌公司获得的
Figure GDA0002356040790000041
平台。设备102已经在其上安装有多个应用104(104-1、104-2、104-3、104-4、104-5、104-5至104-n)。应用可能安装在不同的安全容器中。具体地,图1图示了应用104-1、104-3和104-6安装在第一安全容器106-1中。应用104-2安装在第二安全容器106-2中。应用104-4和104-5安装在第三安全容器106-3中。其余的应用安装在第四安全容器106-4中。
多个应用104中的应用中的每个应用与身份提供商110相关联。通常身份提供商110是提供大量服务和数据的某个集中式的、众所周知的提供商。
多个应用104中的应用中的每个应用被配置成从多个服务提供商108中的服务提供商108-1至108-m接收个性化服务。该个性化通过被认证为其相应的服务和/或身份提供商110的申请人来启用。这在图1中图示,其中认证信息112被提供给身份提供商110和/或多个服务108中的服务中的一个或多个服务。
在图1所示的示例中,多个应用104中的应用中的每个应用能够执行选举算法(或以其他方式,获得选举算法的结果),以获得有序列表117。例如,图1图示了多个应用中的应用中的每个应用包括选举算法计算模块115-1至115-n。每个选举算法计算模块被配置成,标识多个相关联的应用,并且从多个相关联的应用上的选举算法获得结果,以标识主应用。这样的结果可以是有序列表117。有序列表117根据某个排序算法,以有序的方式,列出多个应用104中的所有应用。例如,其中实现实施例的平台可以包括获得已安装的应用的列表的能力。选举算法可能能够使用该能力,来获得与身份提供商110相关联的应用列表。选举算法可以按照以下各项,来排序与身份提供商110相关联的应用:字母表应用名称顺序、应用的版本号、用于创建应用的SDK版本(在对SDK做出重大改变时,所执行的自动每日版本控制或手动版本控制)、由应用使用的协议版本、使用所有可能的应用的外部先前准备的硬编码的有序列表117、设备102上的应用的寿命指示并优先考虑在设备上的时间最长或的时间累积量最大的应用、应用的使用频率、在设备102上被安装或被卸载的可能性、所陈述的用户偏好、指示应用的偏好顺序的外部度量等。
选举算法标识主应用,该主应用将要存储可以用于认证与身份提供商110相关联的多个应用104中的任一应用和/或所有应用的认证状态。在图1所图示的示例中,应用104-1被标识为主应用,并且包括可以从中导出认证信息112的认证状态114。
下文图示了选举算法的一个特定示例。首先,该算法尝试标识特定优选应用。例如,如果身份提供商是华盛顿州Redmond的微软公司,则选举算法可能尝试标识微软账户认证器应用是否安装在设备102上。如果此应用安装在设备102上,则其被选为主应用。这是因为该应用将能够为未来认证机构(诸如基于证书的认证)提供支持。
否则,选择具有最高SSO版本的应用。这便于实现最新接口版本的可获得性,并且可能防止较新的应用依赖不支持较新的API方法的较旧的应用。
如果多个应用共享最高的SSO版本,则选择最近安装的应用。这有助于减少主应用切换的扰动实例。
主应用中的认证状态114将是主要和权威的状态数据集合。设备上的所有其他SSO客户端将认为自己是无状态的,并且在一些实施例中将经由进程间通信(IPC)向主应用104-1代理任何API请求。
与多个主途径相比,这种途径能够带来更好的数据一致性(由于单个源)以及性能的改善(IPC通信是一对一而非一对多)。
面向客户端的API对象不直接与认证提供商交互,而是经由IPC调用,通过主应用来代理请求。即使在本地情况下(当客户端恰好是主应用时),这也适用。即使在本地连接时,IPC机构也将起作用,从而允许逻辑被简化。
这种特定的单个主途径可能出现的一个问题是从主应用中卸载或清除数据将立即删除用于所有SSO应用的数据,而没有机会恢复。可以实现“备份”概念,以便于实现持续的SSO操作。可以包括API,以允许主应用104-1将认证状态的副本,推送到后台中的一个或多个非主应用,并且可能在稍后的时间潜在地检索认证状态。在一些实施例中,状态将被推送到由选举算法产生的有序列表117所确定的前“x”个应用。例如,“x”可以是5,使得认证状态114被推送到主应用之后的前5个下一个应用。
例如,现在参考图2。图2图示了其中x=4的情况,使得认证状态114被推送到四个其他应用104-2、104-3、104-4和104-5。注意,即使在接收到数据的备份副本之后,非主应用(诸如应用104-2至104-n中的任一应用)将继续以无状态的方式操作,从而经由主应用104-1来服务API请求。在具有认证状态114的非主应用(诸如应用104-2至104-5中的任一应用)的情况下,该非主应用不会利用其可能拥有的任何备份状态。在一些实施例中,仅仅(1)当被检索以恢复主应用时,或(2)仅仅在该非主应用成为主应用(例如,如果旧主应用被卸载)的情况下,才使用非主应用中的状态。
可以基于所预确准则,来配置备份系统,以允许主应用104-1推送数据。在一些实施例中,将在以下时间推送认证状态:当添加账户时、当账户被移除时、当在用户提供附加输入之后,当账户接收到更新后的认证状态时(例如,当用户的账户遭到破坏,使得其旧的认证状态不再被服务器接受时,实施例可以要求用户确认他们的账户,这产生新的认证状态)、当账户从任何流接收到更新后的认证状态并且在超过X时间量(例如,3天)之前做出最后备份时。
在一些实施例中,备份是破坏性的。当应用接收到备份时,清除存储认证状态114的任何现有存储内容,并且应用新备份以与主应用104-1相一致。非主应用将在更新备份调用期间,将备份提取到存储器中,并且在检索备份调用期间,从存储器组装备份块(blob)。
在一些实施例中,实现备份重试。在一些实施例中,因为除非备份成功,否则因为一些实施例不会更新“最后备份”时间戳,所以备份重试可以在下一次更新认证状态时自动发生。
当应用正在尝试从主应用104-1获得认证状态时,在主应用104-1不能被联系(例如,IPC绑定失败)的情况下,应用向主应用104-1重试请求,以获得应用状态114。如果没有这种情况,则应用将沿着由选举算法产生的有序列表117移动,并且尝试联系列表中的下一个备份应用,以实现该请求。
接收用于认证状态的传入的IPC调用的应用,可以出于该调用的目的,而将其自身认为是主应用(例如,可以实现该请求本身而非向前代理它)。因此,非主应用将自动成为主应用。
一些实施例可以实现重试限制。例如,设置四次重试的限制以防止无限循环(例如,“主”应用返回重定向,重定向的请求失败,应用重试“主”应用,获取重定向、重试等)
当第一次安装应用并且成为主应用时,或者当现有主应用已将其数据清除时,实施例可能需要从设备102上的其他应用,检索任何现有备份。
迁移处理部件116被包括在设备102上。该部件116被配置成响应于特定升级动作(例如,从v1升级到v2)来运行特定代码块。迁移部件可能包括存储字段,以指出安装了什么版本的SDK。如果SDK被初始化并且存储字段中的该值被设置为比当前版本更小的版本,则可以更新该值并且可以运行相关的迁移代码。迁移处理部件116可以检测以下场景:安装应用之后第一次调用SDK、SDK升级之后第一次调用SDK、清除应用数据之后第一次调用SDK。在一些实施例中,支持该功能,而不论本地(例如,从创建账户管理器实例的合作伙伴代码)或远程(例如,传入的IPC调用)调用SDK。
现在图示了关于可以采取的各种恢复动作的附加细节。当应用104-1当前是设备102上的主应用,并且在其存储认证阶段的存储器中不存在数据时(例如,其是应用的第一次运行或应用数据被擦除),应用可能遍历从选举算法(不包括其自身)获得的有序列表117,并且查询每个应用(例如,在图2所图示的示例中,应用104-2、104-3、104-4和104-5)的数据备份。所检索的备份数据集合被视为具有权威性,并且查询被停止。
如果应用先前安装有较早的非SSO SDK,而且应用被升级到SSO SDK并且现在参与SSO,则实施例可以被配置成确保应用如同刚刚安装的一样执行(即,如果它是非主应用,则委派给主应用,或者如果它是新的主应用,则从选举算法中检索来自有序列表117中的下一个应用的备份),并且获得任何现有的SSO数据。为了实现这一点,迁移系统在从非SSO到SSOSDK的升级期间,清除任何先前账户数据。一个例外可能是,如果应用被升级并且它是设备102上唯一的SSO应用,则它可以保留其数据。
现在,下文图示了若干个可能场景。在第一场景中,三个应用安装在一起。然后,用户打开一个。在这种情况下,所有这些应用可以从有序列表117中选择相同的主应用,并且认证状态可以自动地一致。
在第二场景中,在由选举算法生成的有序列表117的底部所排序的新应用被安装到工作系统中。新应用可以选择与其余应用相同的主应用,因此认证状态一致。
在具有两个子情形的第三场景中,由选举算法生成的有序列表117的最前一个所排序的新应用被安装到工作系统中。在第一子情形中,新应用是从存储器而被安装的。在第一次运行时(鉴于它是主应用并且不具有认证状态114),新应用依序在有序列表117中查询“先前”(多个)主应用,直到返回备份为止。该备份然后应用于新的主应用中并且具有权威性。可替代地,先前的主应用基于指示安装了新的主应用的广播消息,来查看新的主应用,并且因此将认证状态推送给新的主应用。
在第三场景的第二子情形下,应用已经使用非SSO SDK运行,并且已经更新到SSOSDK。在第一次运行时,鉴于它是主应用并且以前没有使用SSO运行,新的主应用将如在新的安装情况下一样,查询先前的(多个)主应用。该场景可以使用迁移处理部件116。
在第四场景中,卸载工作系统中的主应用。所有剩余的应用自动从由选举算法生成的有序列表117中,选择下一个作为主应用,并且在那里进行请求。该主应用使用其最新的备份副本作为权威源。
在第五场景中,主应用使得其应用数据从其设置中被清除。在该场景中,展现了与在有序列表117的最前一个处安装新应用相同的行为。即,应用发现它是主应用并且没有迁移标志,因此它对有序列表117中的应用执行有序查询,直到找到备份为止。
在第六场景中,两个应用在同一时间从非SSO SDK升级到SSO SDK,这两个应用在有序列表117的最前一个处被排序为第一应用和第二应用。第一应用查询第二应用以用于备份。第二应用不会在SSO SDK可获得之前,返回其存储器中存在的状态,并且第一应用继续查询其他应用。
现在,以下说明与安全性有关的各种特征。特别地,重要的是,流氓应用不能从主应用104-1(或就此而言,任何其他应用)获得认证状态114。在一些实施例中,这可以通过使用服务器和客户端的签名验证来实现。在这种情况下,一个应用将是服务器,它正在与之通信的应用将是客户端。签名验证服务118将在每个服务方法调用开始时,验证客户端的身份/签名。假设预期客户端一次只能将一个或两个调用转变为单个服务,则在每个调用检查签名散列的开销可能不是繁重的。客户端将在尝试连接至它之前,验证所返回的每个服务的身份/签名。使用明确意图来连接至每个服务将确保客户端连接至正确服务。
附加地,回调提供包含实际被绑定的服务的包的名称,在一些实施例中,这被双重检查以确保它是期望的包。
实施例可以包括用于错误处理的功能。错误代码可以用于信息或调试目的,或用于其他目的,诸如知道何时重试请求。下面说明了示例错误代码列表:
-Unknown:未落入任何其他代码的错误;详见消息。
-ClientNotAuthorized:客户端没有呼叫服务的权限,例如,不在允许列表中的签名。
-UnsupportedClientVersion:服务器拒绝向客户端的该版本提供数据(例如,如果随后发现SDK的版本具有很大问题,则返回)。
-StorageException:从存储器读/写数据时遇到问题。
-IllegalArgumentException:请求包含无效参数集合。
-AccountNotFound:未找到被请求的账户。
-NetworkException:由于网络错误,请求无法完成。
-ServerException:由于服务器错误,请求无法完成
-InvalidResponseException:因为服务器返回了无法被解析的响应,所以无法完成请求。
-PrimaryRedirectException:请求可能被重定向到指定的app。
-ClientConfigUpdateNeededException:因为调用者需要更新其配置设置,所以无法完成请求。
客户端可能确信尊重UnsupportedClientVersion错误。特别地,如果从服务接收到,则客户端可以如同该服务不存在一样作出动作(例如,考虑到找到最新的认证状态)。这允许未来的SDK版本在需要时,优雅地拒绝与特定较旧版本进行通信。
特殊的错误情况是“主重定向”,其中所假定的主应用返回指示请求可以重新发送到另一应用的错误代码。在这种情况下,将返回标识重定向端点的额外参数。主回退部件可能会处理使用指定的应用来重新尝试该请求。这允许在SDK的未来版本中,更新主应用排序算法。
一些实施例可以包括提示用户升级到另一应用的能力。例如,实施例可以包括服务声明中的特性,其将允许其他应用潜在地提示用户使用旧的或故障的SDK来升级应用。
一些实施例可以包括模拟不存在于较旧的应用的能力。例如,上文所说明的UnsupportedClientVersion错误,例如在较早版本中发现关键问题的情况下,允许SDK的未来版本拒绝与特定较早版本进行交互。接收UnsupportedClientVersion错误的客户端可能如同该特定服务不存在一样作出动作。
一些实施例可以包括在修改时传播到所有应用的能力。例如,应用A获得新的认证状态,以使它将新认证状态推送到应用B、C和D。
一些实施例可以包括在修改时将认证状态传播到主应用的能力。例如,用户在应用A中获得新认证状态,以使应用A将新状态推送到应用B,该应用B在算法上被选举为主应用。当应用C的本地认证状态不工作时(例如,它已过期),它查询B(而非A),因为它知道B是主应用并且可能具有最新的DA。
一些实施例可以包括在修改时将认证状态传播到主应用的能力。例如,应用A获得新的认证状态,所以它将新的状态推送给应用B,该应用B在算法上被选举为主应用。当应用C需要认证状态时,它总是查询主应用,以获得最新状态。
一些实施例可以包括在需要时从所有应用中提取应用状态的能力。例如,应用A请求具有本地认证状态的标签,并且接收到“认证状态已过期”错误,因此应用A查询设备上的所有其他应用的认证状态,并且挑选最新的状态。
一些实施例可以包括用于验证服务调用者的功能。例如,实施例可以包括方法,该方法将验证客户端的身份然后返回可以被传递到后续调用的会话令牌。然后可以在不调用包管理器的情况下,对照开放令牌列表来验证令牌。
一些实施例可以包括用于使用预SSO数据在作为主应用第一次运行期间,进行认证状态迁移的功能。例如,如果应用从预SSO SDK升级到SSO SDK并且成为当时的主应用,则应用可以按行从下一个主应用中查询备份数据(沿着有序列表117,直到找到备份为止),然后将备份数据与主应用处的存储器中的预SSO数据进行合并,如下所示:来自SSO备份数据的设备ID信息将被导入;来自SSO备份数据的任何账户和认证状态和/或令牌将被导入;以及来自SSO备份数据中不存在的应用的预SSO存储装置的任何账户将被导入。这些账户的认证状态无法与新设备ID一起工作,因此这些用户将需要重新登录(但不会从设备中移除)。
现在,以下讨论是指可以被执行的若干方法和方法动作。尽管方法动作可以按某一顺序进行讨论或如按具体顺序发生的一样在流程图中进行图示,但是除非特定说明或要求,否则不需要具体排序,这是因为动作取决于在该动作正在被执行之前正在完成的另一动作。
现在参考图3,图示了方法300。该方法300可以在计算环境中实践。该方法300包括动作,该动作用于便于实现在具有限制应用之间的交互的容器中的沙盒应用的设备上的单次登录。该方法包括:标识多个相关联的应用(动作302)。例如,实施例可以标识与身份提供商110相关联的设备102上的所有应用。
该方法300还包括:评估准则,以选择主应用(动作304)。例如,可以执行选举算法来创建有序列表117。该有序列表117可以用于标识主应用。
该方法300还包括:在主应用处存储认证状态(动作306)。认证状态的一个或多个部分可以被多个相关联的应用中的应用,来用于认证。因此,例如,主应用104-1可以存储认证状态114。从认证状态114导出的认证信息112可以被用于向身份提供商110或者多个服务108中的服务中的一个或多个服务,认证多个应用104中的应用。
方法300可以如下实践,其中评估准则包括:从多个相关联的应用中,标识应用的有序列表117,以标识用于认证状态的备份位置。在这种情况下,该方法还可以包括:将认证状态的至少一部分存储在来自有序列表的前n个应用中。因此,例如,如图1和图2所示,有序列表117可以以有序的方式标识应用。图2图示了前四个下一个应用104-2、104-3、104-4和104-5在其上存储认证状态117。
可以实践该方法300,其中由于某个事件发生,来执行将认证状态的至少一部分存储在来自有序列表117的前n个应用中。例如,由于用户账户被添加到应用,可以在备份位置中更新认证状态。附加地或可替代地,由于从应用中移除用户账户,可以在备份位置中更新认证状态。附加地或可替代地,由于用户与应用交互以提供认证输入,可以在备份位置中更新认证状态。用户交互可以是与主应用的交互,与多个应用104中的其他应用中的一个应用的交互,与主应用到另一应用的叠加的交互等。例如,用户交互可以是用户更新安全凭证,诸如用户名或密码。附加地或可替代地,由于预确时间期满,可以在备份位置中更新认证状态。例如,可以周期性地更新认证状态,以确保备份位置中的认证状态是新的。附加地或可替代地,由于应用版本改变,可以在备份位置中更新认证状态。附加地或可替代地,由于认证状态改变(诸如内容或格式改变),可以在备份位置中更新认证状态。例如,如果主应用处的认证信息114改变,则可以将那些改变提供给备份位置。
该方法300还可以包括:由于主应用从设备中移除,确定认证状态不再可以从主应用获得。在一些实施例中,该方法还可以包括:将来自前n个应用的最前一个应用提升为主应用。因此,例如,可以从设备102中移除主应用104-1。这可能导致应用104-2被提升为主应用。
该方法300还可以包括:确定由于认证状态不可从主应用获得而导致认证状态不再可以从主应用获得。例如,认证状态可以从应用中擦除、损坏或以其他方式而使其不可用。在一些这样的实施例中,主应用从前n个应用中的一个应用中获取认证状态。典型地,主应用将从前n个应用中的最前一个应用获取认证状态。因此,例如,主应用104-1可以将其状态擦除。这将包括认证状态114正在被擦除。主应用104-1可以尝试从备份应用104-2、104-3、104-4和/或104-5中的一个或多个应用中获取认证状态114,并且典型地从备份应用104-2中检索认证状态114,因为它在主应用104-1以下的有序列表117上是最高的。
可以实践该方法300,其中选择主应用包括:基于一个或多个因素来选择应用。一个这样的因素可能是按应用名称的字母表排序。可替代地或附加地,因素可以是应用版本。因此,例如,可以优先考虑较新的应用版本。可替代地或附加地,因素可能是SDK版本。这可能是所发生的自动每日版本控制或手动版本控制。因此,例如,一些实施例可以创建有序列表117,该有序列表117对使用较新SDK版本所创建的应用具有偏好。可替代地或附加地,因素可以是协议版本。因此,例如,当对应用进行排序时,应用所使用的某些安全协议可能优于其他应用所使用的其他协议。可替代地或附加地,因素可以是硬编码列表。例如,实施例可以使用已经通过一些手动或自动过程而预先排序的外部列表。外部列表可供设备102使用。设备102上的、还出现在外部列表中的任何应用将在有序列表117中进行排序,其顺序与它们在外部列表中出现的顺序相同。可替代地或附加地,因素可以是设备上的应用的寿命。例如,可以优先考虑已经安装较长时间段(不间断的或累积的)的应用。在一个实施例中,通过优选已经在设备上安装较长的不间断时间段的应用,当安装新应用时,会发生较少的主应用扰动。可替代地或附加地,因素可以是应用使用的频率。可替代地或附加地,因素可能是应用被安装或被卸载的可能性。可替代地或附加地,因素可以是指定的用户偏好。可替代地或附加地,因素可以是外部度量。例如,可能已经执行了关于应用的研究。这样的研究可以量化应用使用或有用性。可以获取该研究的结果并且作为选举算法的因素。
方法300还可以包括:从可以在设备上认证的应用允许列表中,选择多个相关联的应用。因此,例如,可以在设备102上,连同认证信息一起,提供一个应用列表。当应用试图出于SSO目的彼此通信时,它们将首先对照该允许列表进行认证。如果试图与其他应用通信的应用未向该允许列表认证,则不允许与多个应用104中的其他应用进行通信。
该方法300还可以包括:从不在多个相关联的应用中的应用,接收针对认证状态的信息的请求。在该示例中,该方法300还可以包括:确定该应用不在多个相关联的应用中。因此,方法300还包括拒绝该请求。
可以实践该方法300,其中多个相关联的应用中的应用中的每个应用可以与主应用通信,并且彼此进行通信。因此,如图2所图示的,多个应用104中的应用中的每个应用可以彼此通信。这由集线器120表示,其图示了应用可以彼此进行通信。
现在参考图4,图示了沙盒系统400。该沙盒系统400包括存储器402,其被配置成存储多个相关联的应用404。
沙盒系统400还包括安全单元406,其被配置成维护安全容器以生成多个沙盒。图1图示了容器106-1至106-4的示例。多个相关联的应用中的应用中的至少一些应用不在同一个沙盒中。
沙盒系统400还包括处理器408,其被配置成基于一个或多个已知准则,从多个相关联的应用404中确定主应用404-1。主应用包括主应用404-1处的认证状态(诸如图1所图示的认证状态115-1),其中认证状态的部分可以被多个相关联的应用中的应用用于认证。
处理器408可以被实现为一个或多个处理器,其耦合至一个或多个计算机可读介质410。尽管计算机可读介质在存储器402外部被示出,但是在一些实施例中该计算机可读介质可以用存储器402来实现。处理器408和计算机可读介质410可以被配置成标识多个相关联的应用并且从多个相关联的应用上的选举算法,获得结果以标识主应用
沙盒系统400还包括主应用404-1。该主应用404-1被配置成在主应用404-1处存储认证状态(例如,图1中的认证状态114)。认证状态的至少一部分可以被多个相关联的应用中的应用用于认证。
在一些实施例中,可以实现沙盒系统400,其中处理器408从多个相关联的应用404,来标识应用的有序列表417,以标识认证状态的备份位置。由有序列表417标识的来自多个相关联的应用的前n个应用可以包括备份信息,该备份信息包括认证状态的至少一部分。
沙盒系统400可以包括更新模块416,其被配置成由于以下各项中的一项或多项,来更新来自多个相关联的应用404的前n个应用中的备份信息:添加用户账户、移除用户账户、用于提供认证输入的用户交互、预确时间到期、应用版本改变或者认证状态改变。
沙盒系统400可以包括验证模块418,其被配置成确定由于主应用从设备中移除导致认证状态不再可以从主应用获得,并且因此将前n个应用中的最前一个应用提升为主应用。
沙盒系统400可以包括验证模块418,其被配置成确定由于认证状态不可从主应用获得导致认证状态不再可以从主应用获得,并且因此使得主应用从前n个应用中的一个应用获取认证状态。
可以实现沙盒系统400,其中处理器被配置成基于以下各项中的至少一项或多项来选择应用:按应用名称的字母表顺序、应用版本、SDK版本、协议版本、硬编码列表、设备上的应用的寿命、应用的使用频率、应用被安装或被卸载的可能性、所指定的用户偏好、或外部度量。
沙盒系统400可以包括允许的应用数据结构420。多个相关联的应用中的应用选自允许的应用数据结构中的应用允许列表,该应用允许列表可以在设备上进行认证。
可以实现沙盒系统400,其中多个应用中的应用中的每个应用被配置成从不在多个相关联的应用中的应用,接收针对来自认证状态的信息的请求,确定应用不在多个相关联的应用中,并且因此拒绝该请求。
可以实现沙盒系统400,其中多个相关联的应用中的应用中的每个应用被配置成与主应用通信并且彼此通信。
现在参考图5,实施例可以由计算机系统500来实践,该计算机系统500包括一个或多个处理器502和诸如计算机存储器之类的物理存储计算机可读介质504。特别地,计算机存储器可以存储计算机可执行指令506,当该计算机可执行指令由一个或多个处理器执行时,使得执行各种功能(诸如实施例中所列举的动作)。
如下面更详细地讨论的,本发明的实施例可以包括或利用包括计算机硬件的专用或通用计算机500。本发明范围内的实施例还包括用于承载或存储计算机可执行指令和/或数据结构的物理和其他计算机可读介质。这样的计算机可读介质可以是可以由通用或专用计算机系统访问的任何可用介质。存储计算机可执行指令的计算机可读介质是物理存储介质(诸如介质504)。承载计算机可执行指令的计算机可读介质是传输介质。因此,通过示例而非限制,本发明的实施例可以至少包括两种明显不同种类的计算机可读介质:物理计算机可读存储介质和传输计算机可读介质。
物理计算机可读存储介质504包括RAM、ROM、EEPROM、CD-ROM或其他光盘存储装置(诸如CD、DVD等)、磁盘存储装置或其他磁存储设备、或可以用于存储以计算机可执行指令或数据结构形式的所需程序代码构件并且可以由通用或专用计算机访问的任何其他介质。
“网络”被定义为使得能够在计算机系统和/或模块和/或其他电子设备之间传送电子数据的一个或多个数据链路。当信息通过网络或其他通信连接(硬连线、无线、或硬连线或无线的组合)被传送或提供给计算机时,计算机将连接适当地视为传输介质。传输介质可以包括网络512和/或可以用于承载或存储以计算机可执行指令或数据结构的形式的所需程序代码构件并且可以由通用或专用计算机访问的数据链路。以上的组合也包括在计算机可读介质的范围内。
进一步地,在到达各种计算机系统部件时,可以将以计算机可执行指令或数据结构形式的程序代码构件自动地从传输计算机可读介质传送到物理计算机可读存储介质(反之亦然)。例如,可以通过网络或数据链路接收的计算机可执行指令或数据结构可以被缓冲在网络接口模块510(例如,“NIC”)内的RAM 508中,然后最终被传送到计算机系统RAM和/或计算机系统500处的较不易失的计算机可读物理存储介质(诸如介质504)。因此,计算机可读物理存储介质可以包括在还利用(或甚至主要利用)传输介质的计算机系统部件中。
计算机可执行指令506包括例如指令和数据,其使得通用计算机、专用计算机或专用处理设备执行某个功能或功能组。计算机可执行指令可以是例如二进制文件、诸如汇编语言之类的中间格式指令、甚至是源代码。尽管主题已经用特定于结构特征和/或方法动作的语言进行了描述,但是应当理解,所附权利要求中限定的主题不一定限于上文所描述的特征或动作。相反,所描述的特征和动作被公开为实现权利要求的示例形式。
计算机系统500还可以包括用户接口514。用户接口514可以包括用于向用户显示信息的显示器516以及各种硬件接口元件518(诸如键盘、触摸屏、按钮、指示设备、传感器等)和各种软件接口元件520(诸如图形用户接口元件、API等)。用户接口514允许外部用户与计算机系统500进行交互。例如,如本文中所讨论的,用户可以向计算机系统提供认证信息。这可以通过供应各种凭证的用户,通过用户接口由用户进行输入,该凭证诸如用户名、密码、指纹扫描、人脸识别等。附加地,用户可以使用用户接口514与应用(诸如应用104-1至104-n)交互。
本领域技术人员将领会,本发明可以在具有许多类型的计算机系统配置的网络计算环境中实践,这些计算机系统配置包括个人计算机、台式计算机、膝上型计算机、消息处理器、手持设备、多处理器系统、基于微处理器或可编程消费电子产品、网络PC、小型计算机、大型计算机、移动电话、PDA、寻呼机、路由器、交换机等。本发明还可以在分布式系统环境中实现,其中通过网络而链接(通过硬连线数据链路、通过无线数据链路、或通过硬连线链路和无线数据链路的组合)的本地计算机系统和远程计算机系统二者都执行任务。在分布式系统环境中,程序模块可能位于本地存储器存储设备和远程存储器存储设备两者中。
可替代地或附加地,本文中所描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如但不限于,可以使用的说明性类型的硬件逻辑部件包括:现场可编程门阵列(FPGA)、程序专用集成电路(ASIC)、程序专用标准产品(ASSP)、系统级芯片系统(SOC)、复杂可编程逻辑器件(CPLD)等。
在不背离本发明的精神或特点的情况下,本发明可以以其他特定形式实现。所描述的实施例在所有方面仅被视为是说明性的而非限制性的。因此,本发明的范围是由所附权利要求而非前面的描述来限定。在权利要求的等同的含义和范围内的所有改变要被包括在其保护范围之内。

Claims (20)

1.一种在计算环境中便于具有沙盒应用的设备的单次登录的方法,所述方法包括:
标识多个相关联的应用,其中所述相关联的应用中的至少第一应用位于与所述相关联的应用中的至少第二应用不同的沙盒安全容器中,并且其中所述多个相关联的应用中的每个应用包括认证信息,所述认证信息用于获得来自一个或多个服务提供商的服务;
基于一个或多个已知准则,从所述多个相关联的应用中选择主应用;
在所述主应用处存储认证状态,其中所述认证状态包括用于所述多个相关联的应用中的每个应用的状态数据的权威性集合;
在所述多个相关联的应用中的非主应用处,接收认证请求;以及
经由所述主应用来服务所述认证请求,其中用于所述非主应用的认证信息来自于被存储在所述主应用处的所述认证状态。
2.根据权利要求1所述的方法,其中基于一个或多个已知准则,从所述多个相关联的应用中选择主应用包括:从所述多个相关联的应用中标识应用的有序列表,以标识用于所述认证状态的备份位置,所述方法还包括:将所述认证状态的至少部分存储在来自有序列表的前n个应用中。
3.根据权利要求2所述的方法,其中将所述认证状态的至少部分存储在来自有序列表的前n个应用中是作为以下一项或多项的结果而被执行的:添加用户账户、移除用户账户、用于提供认证输入的用户交互、预定时间到期、应用版本改变或者认证状态改变。
4.根据权利要求2所述的方法,还包括:确定由于从所述设备移除所述主应用而导致所述认证状态不再可从所述主应用获得,并且因此将所述前n个应用中的最前一个应用提升为所述主应用。
5.根据权利要求2所述的方法,还包括:确定由于所述认证状态从所述主应用不可获得而导致所述认证状态不再可从所述主应用获得,并且因此使得所述主应用从所述前n个应用中的一个应用来获取所述认证状态。
6.根据权利要求1所述的方法,其中选择主应用包括:基于以下各项中的至少一项或多项来选择应用:按应用名称的字母表顺序、应用版本、软件开发工具SDK版本、协议版本、硬编码列表、设备上的应用的寿命、应用使用频率、应用被安装或被卸载的可能性、所指定的用户偏好或外部度量。
7.根据权利要求1所述的方法,还包括:从应用允许列表中选择所述多个相关联的应用,所述应用允许列表能够在所述设备上被认证。
8.根据权利要求1所述的方法,还包括:从不在所述多个相关联的应用中的应用,接收针对来自所述认证状态的信息的请求,确定所述应用不在所述多个相关联的应用中,并且因此拒绝所述请求。
9.根据权利要求1所述的方法,其中所述多个相关联的应用中的所述应用中的每一个应用能够与所述主应用通信并且彼此通信。
10.一种沙盒系统,包括:
存储器,所述存储器被配置为存储多个相关联的应用,其中所述多个相关联的应用中的每个应用包括认证信息,所述认证信息用于获得来自一个或多个服务提供商的服务;
安全单元,所述安全单元被配置成维护安全容器,以生成多个沙盒,其中所述多个相关联的应用中的至少一些应用在不同的沙盒中;以及
处理器,所述处理器被配置为基于一个或多个已知准则,从所述多个相关联的应用中选择主应用,其中所述主应用包括所述主应用处的认证状态,所述认证状态包括用于所述多个相关联的应用中的每个应用的状态数据的权威性集合,所述权威性集合包括用于所述多个相关联的应用中的每个应用的所述认证信息,并且所述权威性集合被所述主应用使用以服务指向所述多个相关联的应用中的一个或多个非主应用的认证请求。
11.根据权利要求10所述的沙盒系统,其中所述处理器从所述多个相关联的应用来标识应用的有序列表,以标识用于所述认证状态的备份位置,并且其中来自所述多个相关联的应用的、由所述有序列表来标识的前n个应用包括备份信息,所述备份信息包括所述认证状态的至少一部分。
12.根据权利要求11所述的沙盒系统,其中所述系统包括更新模块,所述更新模块被配置成:由于以下各项中的一项或多项而更新来自所述多个相关联的应用的所述前n个应用中的所述备份信息:添加用户账户、移除用户账户、用于提供认证输入的用户交互、预定时间到期、应用版本改变或者认证状态改变。
13.根据权利要求11所述的沙盒系统,其中所述系统包括验证模块,所述验证模块被配置成:确定由于从所述存储器移除所述主应用而导致所述认证状态不再可从所述主应用获得,并且因此将所述前n个应用中的最前一个应用提升为所述主应用。
14.根据权利要求11所述的沙盒系统,其中所述系统包括验证模块,所述验证模块被配置成:确定由于所述认证状态从所述主应用不可获得而导致所述认证状态不再可从所述主应用获得,并且因此使得所述主应用从所述前n个应用中的一个应用来获取所述认证状态。
15.根据权利要求10所述的沙盒系统,其中所述处理器被配置成:基于以下各项中的至少一项或多项来选择所述主应用:按应用名称的字母表顺序、应用版本、软件开发工具SDK版本、协议版本、硬编码列表、设备上的应用的寿命、应用使用频率、应用被安装或被卸载的可能性、所指定的用户偏好或外部度量。
16.根据权利要求10所述的沙盒系统,还包括允许的应用数据结构,其中所述多个相关联的应用中的所述应用选自所述允许的应用数据结构中的应用允许列表,所述应用允许列表能够在所述设备上被认证。
17.根据权利要求10所述的沙盒系统,其中所述多个应用中的所述应用中的每一个被配置成:从不在所述多个相关联的应用中的应用,接收针对来自所述认证状态的信息的请求,确定所述应用不在所述多个相关联的应用中,并且因此拒绝所述请求。
18.根据权利要求10所述的沙盒系统,其中所述多个相关联的应用中的所述应用中的每一个被配置成与所述主应用通信并且彼此通信。
19.一种沙盒系统,所述沙盒系统包括:
一个或多个处理器;以及
一个或多个计算机可读硬件存储设备,所述计算机可读硬件存储设备包括计算机可执行指令,所述计算机可执行指令可由所述一个或多个处理器执行,用于使得所述沙盒系统执行以下操作:
选举算法计算,其中所述选举算法计算包括:
标识多个相关联的应用,其中所述相关联的应用中的至少第一应用位于与所述相关联的应用中的至少第二应用不同的沙盒中,并且其中所述多个相关联的应用中的每个应用包括认证信息,所述认证信息用于获得来自一个或多个服务提供商的服务;以及
基于一个或多个已知准则,从所述多个相关联的应用中选择主应用;以及
在所述主应用处存储认证状态,其中所述认证状态包括用于所述多个相关联的应用中的每个应用的状态数据的权威性集合;
在所述多个相关联的应用中的非主应用处,接收认证请求;以及
经由所述主应用来服务所述认证请求,其中用于所述非主应用的所述认证信息来自于被存储在所述主应用处的所述认证状态。
20.根据权利要求19所述的系统,其中所述选举算法计算还包括:从所述多个相关联的应用中标识应用的有序列表,以标识用于所述认证状态的备份位置,并且其中所述多个相关联的应用中的所述应用被配置为将所述认证状态的至少部分存储在来自有序列表的前n个应用中。
CN201680021185.1A 2015-04-10 2016-04-04 用于无经纪人应用的单次登录的方法和设备 Active CN107533604B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/684,139 2015-04-10
US14/684,139 US9692745B2 (en) 2015-04-10 2015-04-10 Single sign-on without a broker application
PCT/US2016/025806 WO2016164283A1 (en) 2015-04-10 2016-04-04 Single sign-on without a broker application

Publications (2)

Publication Number Publication Date
CN107533604A CN107533604A (zh) 2018-01-02
CN107533604B true CN107533604B (zh) 2020-08-21

Family

ID=55745856

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680021185.1A Active CN107533604B (zh) 2015-04-10 2016-04-04 用于无经纪人应用的单次登录的方法和设备

Country Status (4)

Country Link
US (1) US9692745B2 (zh)
EP (1) EP3281140B1 (zh)
CN (1) CN107533604B (zh)
WO (1) WO2016164283A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10298561B2 (en) * 2015-06-30 2019-05-21 Vmware, Inc. Providing a single session experience across multiple applications
WO2017023365A1 (en) * 2015-07-31 2017-02-09 Good Technology Holdings Limited Managing access to resources
US10819695B2 (en) * 2018-05-25 2020-10-27 Citrix Systems, Inc. Electronic device including local identity provider server for single sign on and related methods
US10965663B2 (en) * 2018-07-26 2021-03-30 Microsoft Technology Licensing, Llc Troubleshooting single sign on failure
US11831631B2 (en) * 2018-11-08 2023-11-28 Appdome Ltd. Single sign-on for mobile applications using direct brokering for identity authentication

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103729589A (zh) * 2013-12-30 2014-04-16 金蝶软件(中国)有限公司 单点登录方法和装置
CN104283852A (zh) * 2013-07-08 2015-01-14 中国电信股份有限公司 移动应用的单点登录认证方法和系统以及客户端和服务端

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6438600B1 (en) 1999-01-29 2002-08-20 International Business Machines Corporation Securely sharing log-in credentials among trusted browser-based applications
US6826696B1 (en) * 1999-10-12 2004-11-30 Webmd, Inc. System and method for enabling single sign-on for networked applications
EP1254547B1 (en) 2000-02-08 2005-11-23 Swisscom Mobile AG Single sign-on process
US20020087625A1 (en) * 2001-01-04 2002-07-04 Kim Toll Sharing user profiles between processor-based systems
US7941533B2 (en) * 2002-02-19 2011-05-10 Jpmorgan Chase Bank, N.A. System and method for single sign-on session management without central server
US7512649B2 (en) * 2002-03-22 2009-03-31 Sun Microsytems, Inc. Distributed identities
US7496953B2 (en) 2003-04-29 2009-02-24 International Business Machines Corporation Single sign-on method for web-based applications
US7275259B2 (en) 2003-06-18 2007-09-25 Microsoft Corporation System and method for unified sign-on
US7647256B2 (en) 2004-01-29 2010-01-12 Novell, Inc. Techniques for establishing and managing a distributed credential store
US7698734B2 (en) 2004-08-23 2010-04-13 International Business Machines Corporation Single sign-on (SSO) for non-SSO-compliant applications
US8549180B2 (en) * 2004-10-22 2013-10-01 Microsoft Corporation Optimizing access to federation infrastructure-based resources
US8707451B2 (en) * 2006-03-01 2014-04-22 Oracle International Corporation Search hit URL modification for secure application integration
US8327426B2 (en) 2006-06-01 2012-12-04 Novell Intellectual Property Holdings, Inc. Single sign on with proxy services
US20090007248A1 (en) 2007-01-18 2009-01-01 Michael Kovaleski Single sign-on system and method
WO2008114256A2 (en) 2007-03-22 2008-09-25 Neocleus Ltd. Trusted local single sign-on
US8296834B2 (en) 2007-08-02 2012-10-23 Deluxe Corporation Secure single-sign-on portal system
US8196191B2 (en) 2007-08-17 2012-06-05 Norman James M Coordinating credentials across disparate credential stores
US8863246B2 (en) 2007-08-31 2014-10-14 Apple Inc. Searching and replacing credentials in a disparate credential store environment
US8789072B2 (en) * 2011-01-27 2014-07-22 International Business Machines Corporation Distributed multi-system management
US9473485B2 (en) 2011-03-21 2016-10-18 Blue Cedar Networks, Inc. Secure single sign-on for a group of wrapped applications on a computing device and runtime credential sharing
US8839395B2 (en) 2011-05-13 2014-09-16 Cch Incorporated Single sign-on between applications
US8819444B2 (en) 2011-12-27 2014-08-26 Majid Shahbazi Methods for single signon (SSO) using decentralized password and credential management
US8856805B2 (en) * 2011-12-29 2014-10-07 Oracle International Corporation Virtual channel for embedded process communication
CN102420836A (zh) 2012-01-12 2012-04-18 中国电子科技集团公司第十五研究所 业务信息系统的登录方法以及登录管理系统
US8745755B2 (en) 2012-10-12 2014-06-03 Citrix Systems, Inc. Controlling device access to enterprise resources in an orchestration framework for connected devices
US20140109171A1 (en) * 2012-10-15 2014-04-17 Citrix Systems, Inc. Providing Virtualized Private Network tunnels
US9641498B2 (en) 2013-03-07 2017-05-02 Fiserv, Inc. Single sign-on processing for associated mobile applications
US9722990B2 (en) * 2013-09-20 2017-08-01 Oracle International Corporation Virtualized data storage and management of policy and credential data sources
US9065819B1 (en) * 2013-12-23 2015-06-23 Cellco Partnership Single sign on (SSO) authorization and authentication for mobile communication devices
US20150244704A1 (en) * 2014-02-27 2015-08-27 Netapp, Inc. Techniques to authenticate user requests involving multiple applications
US9542247B2 (en) * 2014-09-19 2017-01-10 Microsoft Technology Licensing, Llc Content sharing between sandboxed apps
US9401912B2 (en) * 2014-10-13 2016-07-26 Netiq Corporation Late binding authentication

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104283852A (zh) * 2013-07-08 2015-01-14 中国电信股份有限公司 移动应用的单点登录认证方法和系统以及客户端和服务端
CN103729589A (zh) * 2013-12-30 2014-04-16 金蝶软件(中国)有限公司 单点登录方法和装置

Also Published As

Publication number Publication date
US9692745B2 (en) 2017-06-27
US20160301684A1 (en) 2016-10-13
WO2016164283A1 (en) 2016-10-13
CN107533604A (zh) 2018-01-02
EP3281140B1 (en) 2020-02-12
EP3281140A1 (en) 2018-02-14

Similar Documents

Publication Publication Date Title
CN116302719B (zh) 用于启用高可用性受管理故障转移服务的系统和方法
CN107533604B (zh) 用于无经纪人应用的单次登录的方法和设备
CN108369622B (zh) 软件容器注册表服务
EP3391613B1 (en) Certificate renewal and deployment
US10587697B2 (en) Application-specific session authentication
WO2016048414A1 (en) Managing change events for devices in an enterprise system
WO2013188179A2 (en) Efficient data transfer for cloud storage by centralized management of access tokens
US12041072B2 (en) Software release tracking and logging
US8510564B2 (en) Automatic configuration and continuation of federation relationships
US11709744B2 (en) Active-active environment control
US8302165B2 (en) Establishing trust relationships between computer systems
US20200349126A1 (en) Data file partition and replication
KR20180018673A (ko) 애플리케이션 다운로드 방법 및 디바이스
US20230305837A1 (en) Data file partition and replication
US9667659B2 (en) Determining security factors associated with an operating environment
US20200371772A1 (en) Decentralized offline program updating
US11765155B1 (en) Robust and secure updates of certificate pinning software
US20230267034A1 (en) System for code base sharing during computing application failure using a distributed register network
US8788681B1 (en) Method and apparatus for autonomously managing a computer resource using a security certificate

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