Vue d'ensemble
Dans cette section, nous allons vous montrer comment connecter votre application à Casdoor.
En tant que fournisseur de services (SP), Casdoor prend en charge deux protocoles d'authentification :
OAuth 2.0 (OIDC)
SAML
En tant que fournisseur d'identité (IdP), Casdoor prend en charge quatre protocoles d'authentification :
OAuth 2.0
OIDC
SAML
CAS 1.0, 2.0, 3.0
OAuth 2.0 (OIDC)
Qu'est-ce que OAuth 2.0 ?
OAuth 2 est un cadre d'autorisation qui permet à des applications telles que Facebook, GitHub et Casdoor d'obtenir un accès limité aux comptes d'utilisateurs sur un service HTTP. Il fonctionne en déléguant l'authentification de l'utilisateur au service qui héberge un compte utilisateur et en autorisant les applications tierces à accéder à ce compte utilisateur. OAuth 2 fournit des flux d'autorisation pour les applications web et de bureau, ainsi que pour les appareils mobiles.
Le processus d'autorisation de Casdoor est basé sur le protocole OAuth 2.0. Nous recommandons d'utiliser le protocole OAuth 2.0 pour les raisons suivantes :
- Le protocole est simple et facile à mettre en œuvre, et peut résoudre de nombreux scénarios.
- Il a un niveau de maturité élevé et un soutien communautaire étendu.
Par conséquent, votre application communiquera avec Casdoor via OAuth 2.0 (OIDC). Il existe trois façons de se connecter à Casdoor :
Client OIDC standard
Client OIDC standard : Utilisez une implémentation de client OIDC standard, qui est largement fournie dans n'importe quel langage de programmation ou cadre.
Qu'est-ce que OIDC ?
OpenID Connect (OIDC) est un protocole d'authentification ouvert qui fonctionne au-dessus du cadre OAuth 2.0. Destiné aux consommateurs, OIDC permet aux individus d'utiliser une authentification unique (SSO) pour accéder aux sites des parties de confiance en utilisant des fournisseurs d'identité OpenID (OP), tels qu'un fournisseur de messagerie ou un réseau social, pour authentifier leurs identités. Il fournit à l'application ou au service des informations sur l'utilisateur, le contexte de leur authentification et l'accès à leurs informations de profil.
Casdoor prend entièrement en charge le protocole OIDC. Si votre application utilise déjà un autre fournisseur d'identité OAuth 2.0 (OIDC) via une bibliothèque de client OIDC standard, et que vous souhaitez migrer vers Casdoor, l'utilisation de la découverte OIDC rendra le changement vers Casdoor très facile.
SDK Casdoor
SDK Casdoor : Pour la plupart des langages de programmation, Casdoor fournit des bibliothèques SDK faciles à utiliser au-dessus de OIDC, avec des fonctionnalités étendues qui ne sont disponibles que dans Casdoor.
Comparé au protocole OIDC standard, le SDK de Casdoor offre plus de fonctionnalités, comme la gestion des utilisateurs et le téléchargement de ressources, entre autres. Se connecter à Casdoor via le SDK Casdoor nécessite plus de temps que d'utiliser une bibliothèque de client OIDC standard, mais il offre la meilleure flexibilité et les API les plus puissantes.
Plugin Casdoor
Plugin Casdoor : Si votre application est construite sur une plateforme populaire (comme Spring Boot, WordPress, etc.) et que Casdoor (ou un tiers) a déjà fourni un plugin ou un middleware pour celle-ci, vous devriez l'utiliser. Utiliser un plugin est beaucoup plus facile que d'invoquer manuellement le SDK Casdoor car le premier est spécialement conçu pour la plateforme.
Plugins :
Middleware :
SAML
Qu'est-ce que SAML ?
Le langage de balisage d'assertion de sécurité (SAML) est une norme ouverte qui permet aux fournisseurs d'identité (IdP) de transmettre des informations d'autorisation aux fournisseurs de services (SP). Ce que signifie ce jargon, c'est que vous pouvez utiliser un ensemble d'identifiants pour vous connecter à de nombreux sites web différents. Il est beaucoup plus simple de gérer une connexion par utilisateur que de gérer des connexions séparées pour les e-mails, les logiciels de gestion de la relation client (CRM), Active Directory, etc.
Les transactions SAML utilisent le langage de balisage extensible (XML) pour des communications standardisées entre le fournisseur d'identité et les fournisseurs de services. SAML est le lien entre l'authentification de l'identité d'un utilisateur et l'autorisation d'utiliser un service.
Casdoor peut être utilisé comme un IdP SAML. Actuellement, Casdoor prend en charge les principales fonctionnalités de SAML 2.0. Pour plus de détails, voir SAML.
Exemple :
Casdoor en tant qu'IdP SAML dans Keycloak
Suggestions :
- Le protocole est puissant et couvre de nombreux scénarios, ce qui en fait l'un des protocoles SSO les plus complets.
- Le protocole est vaste, avec de nombreux paramètres optionnels, il est donc difficile de couvrir 100% des scénarios d'application dans la mise en œuvre réelle.
- Si l'application est nouvellement développée, SAML n'est pas recommandé en raison de sa complexité technique élevée.
CAS
Qu'est-ce que CAS ?
Le Central Authentication Service (CAS) est un protocole d'authentification unique pour le web. Son but est de permettre à un utilisateur d'accéder à plusieurs applications tout en fournissant ses informations d'identification (telles que l'identifiant utilisateur et le mot de passe) une seule fois. Il permet également aux applications web d'authentifier les utilisateurs sans avoir accès à leurs informations de sécurité, telles qu'un mot de passe.
Casdoor a implémenté les fonctionnalités de CAS 1.0, 2.0 et 3.0. Pour plus de détails, voir CAS.
Suggestions :
- Le protocole lui-même est relativement léger et facile à mettre en œuvre, mais il ne peut résoudre qu'un seul scénario.
- La confiance mutuelle entre le client CAS et le serveur CAS est établie par l'invocation d'interface sans aucun mécanisme de chiffrement ou de signature pour assurer une sécurité supplémentaire.
- Le protocole CAS n'a aucun avantage sur les autres protocoles.
Tableau des intégrations
Certaines applications ont déjà des exemples qui se connectent à Casdoor. Vous pouvez suivre la documentation pour vous connecter rapidement à Casdoor. Vous pouvez voir toutes les applications dans le Tableau des intégrations.