Voici ce que j'essaie de faire.WCF - Jeton d'authentification SSO et interfaces POX
Nous avons un service d'authentification SSO que d'autres pages Web et services externes utilisent pour authentifier les utilisateurs. Un utilisateur tente d'atteindre un service, si aucun cookie contenant un jeton d'authentification n'est trouvé, ils sont redirigés vers le service d'authentification SingleSignOn. Le service d'authentification fait son travail et redirige l'utilisateur (HTTP 302) vers l'URL d'origine avec son jeton d'authentification chiffré dans l'URL. Génial. Comment puis-je invoquer cela à partir d'un service POX WCF? Pas de SOAP ici, juste HTTP GET/POST avec des réponses XML.
Ce que je fais actuellement est, dans chaque méthode d'implémentation de méthode de service, en vérifiant les en-têtes pour le cookie. Si le cookie existe, vérifiez le jeton d'authentification et traitez la demande. Si le cookie n'existe pas ou le jeton d'authentification a expiré, puis répondre avec:
WebOperationContext.Current.OutgoingResponse.StatusCode = System.Net.HttpStatusCode.Redirect;
WebOperationContext.Current.OutgoingResponse.Location = string.Format(authServiceURL, returnURL);
Cela fonctionne, mais il est pas intégré à l'une des caractéristiques WCF, et me demande le code manuellement pour un tas des scénarios. Est-il possible que je pourrais mettre en œuvre cette utilisation de ces cours:
<serviceCredentials>
<issuedTokenAuthentication>
</issuedTokenAuthentication>
ou utiliser d'autres moyens qui vérifie chaque demande au service?
J'ai lu des pages comme: How to: Create a Custom Token, mais je ne vois pas comment cela s'applique à mes besoins.
Toutes les suggestions seraient appréciées. J'étudie cela parce que j'ai un peu de temps avant que mon projet démarre, et je voudrais mettre en œuvre ce projet correctement et en apprendre autant sur la WCF que possible.
Est-ce que quelqu'un utilise SSO avec WCF? Si oui, comment l'avez-vous mis en œuvre? – MonkeyWrench