saml-2.0 Tutoriel
Démarrer avec saml-2.0
Recherche…
Remarques
SAML2.0 est un standard ouvert utilisé pour transférer les données d'authentification et d'autorisation entre les fournisseurs de services et les fournisseurs d'identité.
L'utilisation la plus courante est l'authentification unique Web, qui permet à l'utilisateur de se connecter à une application avec des informations d'identification provenant d'un autre système, sans avoir à connecter directement les deux systèmes lors de l'authentification.
Le flux d'authentification SAML2.0
SAML spécifie trois rôles principaux:
Le fournisseur d'identité (IdP)
La partie qui fournit et conserve l'identité des utilisateurs. Cela peut être un service de répertoire comme ADFS ou une solution de base de données personnalisée.
Le fournisseur de services (SP)
Le fournisseur de services est le service réel auquel l'utilisateur tente de se connecter. Cela peut être un site Web, une application ou tout service auquel un utilisateur doit être invité à se connecter.
Le principal / l'utilisateur
L'utilisateur réel qui lance la demande ou tente d'accéder à une ressource à partir du fournisseur de services (SP).
Le principal cas d'utilisation SAML est Web Based SSO , où le processus SAML est exécuté par un ensemble de redirections dans le navigateur des utilisateurs, où l'utilisateur agit en tant que transporteur de jetons entre l'IdP et le SP.
Il existe deux flux pour la connexion unique basée sur le Web utilisant SAML:
Fournisseur d'identité (IdP) lancé
L'utilisateur se connecte à l'IdP et est ensuite transmis au fournisseur de services de son choix. Par exemple, un utilisateur se connecte à un intranet d'entreprise et est présenté avec toutes les applications disponibles.
Fournisseur de services (SP) lancé
L'utilisateur tente de se connecter à une application, mais est transféré à l'IdP pour effectuer l'authentification réelle. Par exemple, un utilisateur essaie de se connecter à une application SaaS distante, mais est transféré vers un fournisseur d'identité IdP afin que l'utilisateur puisse se connecter avec ses informations d'identification d'entreprise dans l'application distante.
Le flux initié par le fournisseur de services est grandement illustré par le flux de travail ci-dessous:
Source: Wikipedia
- Un utilisateur tente d'accéder à une ressource sur une application ou une page Web spécifique
- Un utilisateur spécifie qu'il tente de se connecter en utilisant un IdP externe. Le SP générera une assertion SAML et la transmettra (généralement par le biais de variables POST ou GET) tout en vous envoyant à l'IdP.
- L'utilisateur s'authentifiera contre l'IdP
- L'assertion signée et le jeton sont générés par l'IdP
- L'assertion signée et le jeton sont renvoyés au SP (à l'aide de variables POST ou GET) et, en cas de succès, une session est lancée sur le SP.
- De plus, l'utilisateur est en mesure de demander des ressources supplémentaires au fournisseur de services pendant qu'il a une session active avec le fournisseur de services (par le biais de cookies).
Outils de débogage SAML
Avec toutes les requêtes et assertions qui vont et viennent, il peut être difficile de déboguer les problèmes avec vos revendications et assertions SAML.
Comme dans SAML, un principe de base ne nécessite pas de connexion directe entre le fournisseur d'identité et le fournisseur de services, le navigateur de l'utilisateur agit comme un support de messages entre les deux. De ce fait, toutes les communications, même cryptées, passent par votre propre navigateur.
À l'aide de divers outils de débogage, vous pouvez voir la communication exacte et les demandes en cours, et les transférer entre IdP et SP.
Pour vous aider à démarrer, voici quelques outils pour différents navigateurs qui devraient vous permettre de démarrer:
Chrome
Firefox
En utilisant par exemple SAML Tracer, vous pouvez voir les assertions et les requêtes SAML décodées en temps réel tout en testant et en déboguant