跳到主内容

概览

在本节中,我们将向您展示如何将您的应用程序连接到Casdoor。

作为服务提供商(SP),Casdoor 支持两项认证协议:

  • OAuth 2.0 (OIDC)
  • SAML

作为身份提供商 (Idp),Casdoor 支持四项认证协议:

  • OAuth 2.0
  • OIDC
  • SAML
  • CAS 1.0, 2.0, 3.0

OAuth 2.0 (OIDC)

什么是 OAuth 2.0?

OAuth 2是一个授权框架,它使得应用程序——如Facebook,GitHub和Casdoor——能够在HTTP服务上获得对用户账户的有限访问权限。 它的工作原理是将用户身份验证委托给托管用户帐户的服务,并授权第三方应用程序访问该用户帐户。 OAuth 2为网页和桌面应用程序,以及移动设备提供授权流程。

Casdoor的授权程序基于OAuth 2.0协议 。 我们推荐使用 OAuth 2.0 协议,原因如下:

  1. 该协议简单易行,能解决多种问题。
  2. 该协议成熟度高且社区支持广泛.

如此,您的应用程序将通过 OAuth 2.0 (OIDC) 与 Casdoor 通讯。 这里有三种方式连接到 Cassdoor:

标准 OIDC 客户端

标准OIDC 客户端: 使用一个标准的 OIDC 客户端实现,通常在各类编程语言或框架都广泛提供。

什么是OIDC?

OpenID Connect (OIDC) 是一个在OAuth 2.0 框架顶端运行的开放身份验证协议。 针对消费者,OIDC允许个人通过单点登录(SSO)访问使用OpenID提供商(OPs)的依赖方站点,如电子邮件提供商或社交网络平台,以验证其身份。 它向应用程序或服务提供用户信息、认证背景,并允许访问用户个人资料。

Casdoor 完全支持 OIDC 协议。 如果您的应用程序已经通过标准的OIDC客户端库使用了另一个OAuth 2.0(OIDC)身份提供商,并且您想迁移到Casdoor,使用OIDC发现将使切换到Casdoor变得非常简单

Casdoor SDKs

Casdoor SDKs:对于大多数编程语言,Casdoor在OIDC之上提供了易于使用的SDK库,其中包含了只在Casdoor中才有的扩展功能。

与标准的OIDC协议相比,Casdoor的SDK提供了更多的功能,如用户管理和资源上传等。 通过Casdoor SDK连接到Casdoor需要的时间比使用标准的OIDC客户端库要多,但它提供了最佳的灵活性和最强大的API。

Casdoor插件

Casdoor 插件:如果您的应用程序是基于流行平台(如 Spring Boot,WordPress 等)构建的,并且 Casdoor(或第三方)已经为其提供了插件或中间件,那么您应该使用它。 使用插件比手动调用Casdoor SDK要容易得多,因为前者是专为平台制作的。

插件:

中间件:

SAML

什么是SAML?

安全鉴别标记语言(SAML)是一种开放标准,允许身份提供者(IDP)将授权证书传给服务提供者。 这个术语的意思是,你可以使用一套凭证登录到许多不同的网站。 管理每个用户的一个登录要比管理电子邮件、客户关系管理(CRM)软件、活动目录等的单独登录要简单得多。

SAML交易使用可扩展标记语言(XML) 在标识提供者和服务提供者之间进行标准化通信。 SAML是用户身份认证和使用服务授权之间的链接。

Casdoor可以用作SAML IdP。 目前,Casdoor支持SAML 2.0的主要功能。 有关更多详细信息,请参见SAML

示例:

Casdoor作为Keycloak中的SAML IdP

建议:

  1. 该协议是强大的,覆盖了许多场景,使其成为最全面的SSO协议之一。
  2. 该协议是大型的,带有许多可选参数,因此在实际实施中很难100%覆盖所有应用场景。
  3. 如果应用程序是开发的,由于其高度的技术复杂性,不建议使用SAML。

CAS

什么是CAS?

中央认证服务(CAS)是网络的单点登录协议。 它的目的是允许用户在只提供一次凭证(如用户ID和密码)的情况下访问多个应用程序。 它还允许网络应用程序在不获取用户的安全凭证(如密码)的情况下对用户进行身份验证。

Casdoor已实现了CAS 1.0、2.0和3.0的功能。 有关更多详细信息,请参见CAS

建议:

  1. 该协议本身相对轻量级且易于实现,但它只能解决单一场景。
  2. CAS 客户端和CAS服务器之间的相互信任是通过在没有任何加密或签名机制的情况下使用接口建立的,目的是确保进一步的安全。
  3. CAS协议并无优于其他协议的优点。

集成表

一些应用程序已有连接到Casdoor的示例。 您可以按照文档指示操作,快速连接到Casdoor。 您可以在集成表中查看所有应用程序。