当前位置: 首页 > 知识库问答 >
问题:

CAS vs.SAML vs.OAuth2

嵇昱
2023-03-14

有人能简单地告诉我这三个是什么吗?他们是替代品(竞争)吗?比较他们是对的吗?

有这么多宝石似乎都在说着非常相似的事情:

  • https://github.com/rubycas/rubycas-server和https://github.com/rubycas/rubycas-client
  • https://github.com/nbudin/devise_cas_authenticatable
  • https://github.com/onelogin/ruby-saml
  • 赌场和https://github.com/rbcas/casino-activerecord_authenticator
  • 我相信有数百个与OAuth相关的宝石。

我遇到了以下两个OAuth解决方案:

  • http://dev.mikamai.com/post/110722727899/oauth2-on-rails
  • http://blog.yorkxin.org/posts/2013/11/05/oauth2-tutorial-grape-api-doorkeeper-en/

他们似乎在描述一些与我想要的非常相似的东西。但是我还没有找到任何指南/博客文章/教程来说明如何使用SAML/CAS来实现这一点。

共有1个答案

柳刚豪
2023-03-14

CAS-Server:

一个独立的中央登录页面,用户在其中输入他们的凭据(即他们的用户名和密码)。

CAS支持标准化的SAML 1.1协议,主要是为了支持向客户机发布属性和单点签出。

SAML有一个OAuth2缺少的特性:SAML令牌包含用户身份信息(因为签名)。使用OAuth2,您不会立即得到它,相反,资源服务器需要进行额外的往返,以便与授权服务器一起验证令牌。

另一方面,使用OAuth2,可以使授权服务器上的访问令牌无效,并禁止它进一步访问资源服务器

这两种方法都有很好的特性,都适用于SSO。我们已经在多种语言和各种应用中证明了这两个概念。归根结底,OAuth2似乎更适合我们的需求(因为没有现有的SAML基础设施可供利用)。

2.如果您的使用涉及提供对资源(如帐户、图片、文件等)的访问(临时或永久),那么使用OAuth。

3.如果需要提供对门户的合作伙伴或客户应用程序的访问,那么使用SAML。

4.如果您的usecase需要一个集中的标识源,那么使用SAML(标识提供者)。

 类似资料:

相关问答

相关文章

相关阅读