【发布时间】:2018-01-25 18:58:50
【问题描述】:
- 单点登录和 oauth 的主要区别是什么。
- 如果我为单点登录构建 CAS 服务器。我能否在其他应用程序(例如 Facebook)中使用 CAS 服务器进行 oauth 身份验证。
【问题讨论】:
标签: java spring spring-boot
【问题讨论】:
标签: java spring spring-boot
对于您的第一个问题:
OAuth 是一种授权协议,它允许用户有选择地决定哪些服务可以对用户的数据执行什么操作。 例如,如果您尝试使用 Facebook 登录 Spotify,您将被重定向到 Facebook 的网站以获得授权。
另一方面,单点登录不是一种协议——它更像是一个广泛的服务提供商使用的高级概念(有时存在令人困惑的差异)。 SSO 是一种身份验证/授权流程,用户可以通过该流程使用相同的凭据登录多个服务。
例如,在您的公司,您可能希望使用一组凭据进行访问:
您不必让公司的每位员工为他们一直使用的每项服务创建不同的帐户,而是可以为每位员工创建一个帐户,授予他们对公司所有服务的访问权限。这是SSO。
因此,OAuth 与单点登录无关。这与您控制用户可以访问的内容无关。 它是关于让用户控制第三方如何访问他们的资源。两个截然不同的用例。
CAS 集中身份验证。 如果您希望所有(可能是内部)应用程序要求用户登录到单个服务器(所有应用程序都配置为指向单个 CAS 服务器),请使用它。
【讨论】: