2010-07-15 7 views
0

J'ai des applications WinForms et ASP.Net qui doivent accéder aux services Web et de données WCF à l'aide d'un jeton SAML.Service Web de données WCF et service de données utilisant SAML

Je me suis intéressé à Windows Identity Foundation (WIF) pour permettre au service WCF d'utiliser des jetons SAML à partir d'un STS-IP.

Sur le client, appelez-vous le STS et obtenez un jeton SAML, puis passez le jeton au service WCF? Si oui, comment puis-je obtenir le jeton puis le passer à WCF?

ou

Le client passer les informations d'identification (nom d'utilisateur/mot de passe) de l'utilisateur au service Web WCF, qui obtient un jeton SAML et fait son travail?

À ma connaissance, WCF Data Services utilise REST. Alors, comment SAML fonctionne-t-il avec REST?

Répondre

1

Le jeton SAML peut être récupéré via WS-Trust dans un scénario client actif (WinForms). WS-Trust décrit certains services qu'un STS propose pour obtenir un jeton (Request for Security Token, RST). Le jeton est signé pour la partie de confiance (service WCF) et peut lui être transmis via un en-tête WS-Securtiy. Bien sûr, certaines qualifications doivent être transmises au STS pour obtenir un jeton valide de première main.

Dans le scénario passif (ASP.Net), c'est un peu différent. Le plus souvent, l'application web gère son authentification d'utilisateur en utilisant un STS. L'utilisateur dispose donc d'un jeton SAML associé valide. WS-Trust est utilisé pour obtenir un jeton valide pour la partie de confiance. Puis même procédure que ci-dessus.

La partie de confiance (service WCF) traite uniquement la requête avec un jeton SAML valide. Il ne reçoit jamais de jeton pour un utilisateur. Après avoir passé le nom d'utilisateur/mot de passe et la gestion de l'authentification, il y a exactement ce que vous voulez éviter avec l'identité basée sur la revendication ;-)

Je suppose que vous jetez un oeil à "A Guide to Claim-Based Identity and Access Control de MS. Bien sûr, WS-Trust/WS-Security est utilisé avec les services Web SOAP.

+0

Merci pour le lien et l'information. Je ne suis toujours pas clair sur la façon dont le client (WinForms ou l'application Web ASP.Net) passerait le jeton au service Web WCF. En outre, comment cela fonctionnerait avec REST et WCF Data Services. –

+0

Selon http://www.leastprivilege.com/SecuringWCFDataServicesUsingWIF.aspx, il semble être un processus plutôt manuel. – spa

Questions connexes