39 votes

Comment implémenter l'authentification unique SAML

Comment est SAML SSO généralement mis en œuvre?

J'ai lu ce (n.b. obsolète) sur l'utilisation de SAML avec Google Apps, et l'entrée de wikipedia sur SAML.

L'article de wikipédia en parle répondre à des formulaires contenant les détails de la SAMLRequest et SAMLResponse. Est-ce à dire que l'utilisateur doit physiquement soumettre le formulaire afin de procéder à la connexion unique?

L'entrée de google parle en utilisant des redirections, ce qui semble plus sans heurt pour moi. Cependant, il parle aussi de l'aide d'un formulaire pour la réponse que l'utilisateur doit soumettre (bien qu'il parle à l'aide de JavaScript pour envoyer automatiquement le formulaire).

Est-ce la façon habituelle de faire cela? En utilisant les redirections et JavaScript pour l'envoi du formulaire?

Quelqu'un sait-il d'autres bonnes ressources sur la façon d'aller sur l'implémentation de l'authentification unique entre un Domaine Windows et d'une application web J2EE. L'application web se trouve sur un autre réseau/domaine. Mon client veut utiliser CA Siteminder (avec SAML).

30voto

metadaddy Points 2315

La façon dont cela fonctionne est que, après l'authentification de l'utilisateur, le SAML fournisseur d'identité (IdP) effectue le rendu d'un formulaire dans le navigateur contenant la réponse SAML - la forme de "l'action" (c'est à dire la cible) est le fournisseur de service (SP). Dans le HTML, il y a un JavaScript événement onLoad qui soumet le formulaire, de sorte que l'effet net est que l'utilisateur est automatiquement dirigé à partir de l'IdP de la SP, réponse SAML dans la main.

L'utilisateur devra cliquer sur n'importe quoi pour soumettre le formulaire est si ils ont désactivé JavaScript. Dans ce cas, SAML implémentations fournissent généralement un message avec un bouton à presser dans l' <noscript> balise.

Pour plus de détails, voir cet article que j'ai écrit il y a quelques années - mais remarque, 'Ampoule' est long obsolète aujourd'hui - pour PHP SAML voir simpleSAMLphp.

C'est une honte de votre client veut utiliser CA SiteMinder - l'open source OpenAM (anciennement connu sous le OpenSSO) est-ce assez facilement.

6voto

Farhan Points 726

Cet article explique est très bien. Il existe également des exemples pour différentes plates-formes.

0voto

McGovernTheory Points 2396

Si Siteminder est la partie de confiance, vous devrez écrire un agent personnalisé pour prendre un artefact SAML et créer une session SM. Sinon, vous devrez acheter un produit pour lequel cette fonctionnalité est déjà créée.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X