我理解身份管理可以通过多种方式进行,使用多种协议,这取决于一个人的需求。然而,我读到的关于各种安全框架和协议的文章越多,我就越不明白何时何地使用这些框架和协议。我的需要是,我需要一个强大的中央身份管理系统,管理认证和授权的许多web应用程序,可能会查询它。此外,我正在寻找这样一个结构,可以逐步用于SSO (单点登录)时,软件规模。这类身份管理系统在世界范围内使用的共同技术栈是什么?像LDAP、Apache、OAuth、CAS这样的技术和协议是如何适应所有这些的;也就是说,它们扮演什么角色?它们是免费的技术还是可互换的?它们中的一些是否具有相同的功能,使用它们有哪些优缺点?
我知道我问了很多问题和很多信息,但我找不到任何好的资源来给我提供这样一个要求的“更大的前景”。任何帮助,任何消息来源都将不胜感激。
发布于 2014-11-10 05:59:34
对于身份验证和授权,您应该检查OpenID连接,它是“OAuth 2.0协议之上的一个简单身份层”。以下是FAQ页面的摘录。
(Identity, Authentication) + OAuth 2.0 = OpenID Connect一般来说,管理自己的最终用户并提供web以允许第三方应用程序使用Web服务的web服务由以下三个角色组成。
Authentication处理关于“一个人是谁”的信息。与用户管理有关的解决方案属于这一领域。您提到的阿帕奇·希罗和CAS (中央身份验证服务)与身份验证有关。Apache主席是风暴路径的创始人之一,该公司提供“用户管理API”。
Authorization处理有关“谁向谁授予什么权限”的信息。RFC 6749 (OAuth 2.0)是授权的行业标准。
资源管理处理用户数据。主机数据的解决方案与这一领域有关。在Web2.0的上下文中,提供对资源的访问的端点(Web )被称为“受保护的资源端点”。RFC 6750列出了三种向受保护资源端点表示访问令牌的方法。
这些角色通常是以单一的方式实现的,但是如果您意识到角色之间的差异,那么您的困惑就会消失。
人们经常听说,初级工程师将授权与认证混为一谈。一些使用OmniAuth和Auth0进行身份验证(而不是授权)的解决方案可能会使这些工程师更加困惑,尽管解决方案很棒。专用于授权的解决方案(如授权人 )只将授权与身份验证分开。工程师可以从Authlete的软件体系结构中了解授权和身份验证之间的区别。
https://stackoverflow.com/questions/26651994
复制相似问题