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.0OIDCSAMLCAS 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. 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.
Le processus d'autorisation de Casdoor est basé sur le protocole OAuth 2.0. We recommend using OAuth 2.0 for the following reasons:
- The protocol is simple, easy to implement, and can address many authentication scenarios.
- 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
Standard OIDC client: Use a standard OIDC client implementation, which is widely available in any programming language or framework.
Qu'est-ce que OIDC ?
OpenID Connect (OIDC) est un protocole d'authentification ouvert qui fonctionne au-dessus du cadre OAuth 2.0. 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 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
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. 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
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
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). 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.
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.