Zum Hauptinhalt springen

Übersicht

In diesem Abschnitt zeigen wir Ihnen, wie Sie Ihre Anwendung mit Casdoor verbinden.

Als Dienstanbieter (SP) unterstützt Casdoor zwei Authentifizierungsprotokolle:

  • OAuth 2.0 (OIDC)
  • SAML

Als Identitätsanbieter (IdP) unterstützt Casdoor vier Authentifizierungsprotokolle:

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

OAuth 2.0 (OIDC)

Was ist OAuth 2.0?

OAuth 2 ist ein Autorisierungsframework, das Anwendungen wie Facebook, GitHub und Casdoor ermöglicht, begrenzten Zugriff auf Benutzerkonten auf einem HTTP-Dienst zu erhalten. It works by delegating user authentication to the service that hosts the user account and authorizing third-party applications to access that account. OAuth 2 provides authorization flows for web applications, desktop applications, and mobile devices.

Der Autorisierungsprozess von Casdoor basiert auf dem OAuth 2.0 Protokoll. We recommend using OAuth 2.0 for the following reasons:

  1. The protocol is simple, easy to implement, and can address many authentication scenarios.
  2. Es hat ein hohes Reifegradniveau und umfangreiche Community-Unterstützung.

Daher wird Ihre Anwendung mit Casdoor über OAuth 2.0 (OIDC) kommunizieren. Es gibt drei Möglichkeiten, sich mit Casdoor zu verbinden:

Standard OIDC-Client

Standard OIDC client: Use a standard OIDC client implementation, which is widely available in any programming language or framework.

Was ist OIDC?

OpenID Connect (OIDC) ist ein offenes Authentifizierungsprotokoll, das auf dem OAuth 2.0 Framework basiert. Targeted toward consumers, OIDC allows individuals to use single sign-on (SSO) to access relying party sites using OpenID Providers (OPs), such as email providers or social networks, to authenticate their identities. It provides applications or services with information about the user, the context of their authentication, and access to their profile information.

Casdoor unterstützt das OIDC-Protokoll vollständig. Wenn Ihre Anwendung bereits einen anderen OAuth 2.0 (OIDC) Identitätsanbieter über eine Standard OIDC-Client-Bibliothek verwendet und Sie zu Casdoor wechseln möchten, wird der Wechsel zu Casdoor durch die Verwendung von OIDC-Discovery sehr einfach.

Casdoor SDKs

Casdoor SDKs: For most programming languages, Casdoor provides easy-to-use SDK libraries built on top of OIDC, with extended functionality that is only available in Casdoor.

Compared to the standard OIDC protocol, Casdoor's SDK provides additional functionality, such as user management and resource uploading. Die Verbindung zu Casdoor über das Casdoor SDK erfordert mehr Zeit als die Verwendung einer Standard OIDC-Client-Bibliothek, bietet aber die beste Flexibilität und die mächtigste API.

Casdoor-Plugin

Casdoor plugin: If your application is built on top of a popular platform (such as Spring Boot, WordPress, etc.) and Casdoor (or a third party) has already provided a plugin or middleware for it, you should use it. Using a plugin is much easier than manually invoking the Casdoor SDK because plugins are specifically designed for their target platform.

Plugins:

Middleware:

SAML

Was ist SAML?

Security Assertion Markup Language (SAML) ist ein offener Standard, der es Identitätsanbietern (IdP) ermöglicht, Autorisierungsnachweise an Dienstanbieter (SP) weiterzugeben. This means you can use one set of credentials to log into many different websites. It's much simpler to manage one login per user than to manage separate logins for email, customer relationship management (CRM) software, Active Directory, etc.

SAML-Transaktionen verwenden die Extensible Markup Language (XML) für standardisierte Kommunikation zwischen dem Identitätsanbieter und den Dienstanbietern. SAML ist das Bindeglied zwischen der Authentifizierung der Identität eines Benutzers und der Autorisierung zur Nutzung eines Dienstes.

Casdoor kann als SAML IdP verwendet werden. Derzeit unterstützt Casdoor die Hauptfunktionen von SAML 2.0. Weitere Details finden Sie unter SAML.

Beispiel:

Casdoor als SAML IdP in Keycloak

Vorschläge:

  1. Das Protokoll ist mächtig und deckt viele Szenarien ab, was es zu einem der umfassendsten SSO-Protokolle macht.
  2. Das Protokoll ist umfangreich, mit vielen optionalen Parametern, daher ist es schwierig, in der tatsächlichen Implementierung alle Anwendungsszenarien zu 100% abzudecken.
  3. Wenn die Anwendung neu entwickelt wird, wird SAML aufgrund seiner hohen technischen Komplexität nicht empfohlen.

CAS

Was ist CAS?

Der Central Authentication Service (CAS) ist ein Single Sign-On Protokoll für das Web. Sein Zweck ist es, einem Benutzer den Zugriff auf mehrere Anwendungen zu ermöglichen, während er seine Anmeldeinformationen (wie Benutzer-ID und Passwort) nur einmal bereitstellt. Er ermöglicht es auch Webanwendungen, Benutzer zu authentifizieren, ohne Zugriff auf die Sicherheitsanmeldeinformationen des Benutzers, wie ein Passwort, zu erhalten.

Casdoor hat die Funktionen von CAS 1.0, 2.0 und 3.0 implementiert. Weitere Details finden Sie unter CAS.

Vorschläge:

  1. Das Protokoll selbst ist relativ leichtgewichtig und einfach zu implementieren, kann aber nur ein einzelnes Szenario lösen.
  2. Das gegenseitige Vertrauen zwischen dem CAS-Client und dem CAS-Server wird durch Schnittstellenaufrufe ohne jeglichen Verschlüsselungs- oder Signaturmechanismus hergestellt, um weitere Sicherheit zu gewährleisten.
  3. Das CAS-Protokoll hat keine Vorteile gegenüber anderen Protokollen.

Integrationstabelle

Einige Anwendungen haben bereits Beispiele, die eine Verbindung zu Casdoor herstellen. Sie können der Dokumentation folgen, um schnell eine Verbindung zu Casdoor herzustellen. Sie können alle Anwendungen in der Integrationstabelle sehen.