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. Es funktioniert, indem die Benutzerauthentifizierung an den Dienst delegiert wird, der ein Benutzerkonto hostet, und indem Drittanbieteranwendungen autorisiert werden, auf dieses Benutzerkonto zuzugreifen. OAuth 2 bietet Autorisierungsflüsse für Web- und Desktopanwendungen sowie mobile Geräte.

Der Autorisierungsprozess von Casdoor basiert auf dem OAuth 2.0 Protokoll. Wir empfehlen aus folgenden Gründen die Verwendung des OAuth 2.0 Protokolls:

  1. Das Protokoll ist einfach und leicht zu implementieren und kann viele Szenarien lösen.
  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: Verwenden Sie eine Standard OIDC-Client-Implementierung, die in jeder Programmiersprache oder jedem Framework weit verbreitet ist.

Was ist OIDC?

OpenID Connect (OIDC) ist ein offenes Authentifizierungsprotokoll, das auf dem OAuth 2.0 Framework basiert. Auf Verbraucher ausgerichtet, ermöglicht OIDC Einzelpersonen, Single Sign-On (SSO) zu verwenden, um auf vertrauende Parteiseiten zuzugreifen, indem sie OpenID-Anbieter (OPs) wie einen E-Mail-Anbieter oder ein soziales Netzwerk verwenden, um ihre Identitäten zu authentifizieren. Es stellt der Anwendung oder dem Dienst Informationen über den Benutzer, den Kontext seiner Authentifizierung und Zugang zu seinen Profilinformationen zur Verfügung.

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: Für die meisten Programmiersprachen bietet Casdoor benutzerfreundliche SDK-Bibliotheken auf Basis von OIDC mit erweiterten Funktionen, die nur in Casdoor verfügbar sind.

Im Vergleich zum Standard OIDC-Protokoll bietet das SDK von Casdoor mehr Funktionalitäten, wie Benutzerverwaltung und Ressourcen-Upload, unter anderem. 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: Wenn Ihre Anwendung auf einer beliebten Plattform (wie Spring Boot, WordPress usw.) basiert und Casdoor (oder ein Drittanbieter) bereits ein Plugin oder eine Middleware dafür bereitgestellt hat, sollten Sie es verwenden. Die Verwendung eines Plugins ist viel einfacher als das manuelle Aufrufen des Casdoor SDK, da es speziell für die Plattform entwickelt wurde.

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. Was dieser Jargon bedeutet, ist, dass Sie ein Set von Anmeldeinformationen verwenden können, um sich bei vielen verschiedenen Websites anzumelden. Es ist viel einfacher, eine Anmeldung pro Benutzer zu verwalten, als separate Anmeldungen für E-Mail, Kundenbeziehungsmanagement (CRM)-Software, Active Directory usw.

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.