Existe-t-il un moyen d'utiliser SAML pour authentifier (SSO) un IDP à l'aide d'un service Web axis2?Utilisation de SAML2 avec le service Web axis2
Répondre
Le profil SSO WebBrowser SAML est utilisé pour transmettre une assertion d'authentification D'un fournisseur d'identité (fournisseur d'identité) à un fournisseur de services (fournisseur de services), ce qui peut entraîner une authentification sur le fournisseur de service. SAML SSO n'est pas utilisé pour effectuer l'authentification auprès d'un fournisseur d'identité. Un SP peut envoyer une demande d'authentification (AuthnRequest) à un fournisseur d'identité, mais il s'agit simplement d'une demande et non de l'authentification elle-même. Le profil SAML SSO permet de faire passer AuthnRequest sur HTTP (Redirect/POST/Artifact) et Response (l'assertion d'authentification de l'IdP) sur HTTP (POST/Artifact). Si IdP prend en charge/utilise HTTP Artifact, alors les assertions d'authentification seraient obtenues en appelant un service Web sur l'IdP, plutôt que d'être transmis directement dans le XML de réponse. Vous devriez peut-être consulter le profil client ou proxy amélioré (ECP), qui utilise Reverse SOAP (PAOS). Ce serait certainement possible avec Axis2, bien que pour être clair, le service Web lui-même vivrait à l'IdP.
À quelle extrémité implémentez-vous, IdP ou SP?
Vous pouvez essayer d'utiliser la bibliothèque saml opensaml http://www.opensaml.org/ pour générer votre authnRequest et traiter la réponse envoyée par l'IDP.
J'implémente la partie SP et j'utilise WSO2 Identity Server comme IdP. Ils ne supportent pas ECP en ce moment. Avez-vous des suggestions pour l'implémenter? –
Je suis toujours confus quant à ce que vous essayez d'accomplir exactement. S'agit-il de l'authentification unique du navigateur Web ou de l'authentification du service Web (WS-Security)? Il n'est pas clair où les services Web entreraient en jeu dans le premier, car ce n'est pas vraiment pertinent pour l'authentification unique du navigateur Web, sauf si vous utilisez des artefacts ou des requêtes d'attribut ou quelque chose. Vous pouvez faire n'importe quoi avec OpenSAML, mais cela peut être exagéré pour vous. (Je dis que j'ai beaucoup utilisé OpenSAML.) – JST
Désolé pour ma réponse en retard. Je veux un système comme celui-ci: L'utilisateur s'authentifie auprès du système (cette authentification devrait être SSO) mais il y a différentes applications dans le système, donc l'utilisateur ne doit s'authentifier qu'une seule fois. Une fois qu'il a authentifié une demande, il ne devrait pas avoir à donner les lettres de créance à l'autre demande. Cette partie concerne le SSO. Ensuite, après l'authentification, l'utilisateur devrait avoir une session et chaque fois qu'il veut accéder à une ressource sur le système, je veux vérifier cette session et vérifier si elle est autorisée et avoir l'autorisation d'accéder à cette ressource. –