2013-04-17 4 views
0

J'ai essayé de trouver une solution à mon problème pendant quelques jours. La recherche m'a donné beaucoup d'options, aucun d'entre eux que je pourrais adapter à mon scénario.HTTP POST interdomaines - Single Sign On

J'ai une application Web (C# ASP.NET) qui doit publier des données dans une autre application, dans un autre domaine, en tant que SSO. (HTTP POST vers un autre domaine avec SSL avec redirection)

L'application sur l'autre domaine attend une publication avec des données en texte brut au format JSON, puis redirige l'utilisateur vers une autre page.

Je ne peux pas utiliser le formulaire submit, car il envoie le formulaire lui-même à l'application, pas seulement mes données, donc il ne peut pas lire les données que j'envoie. XMLHttpRequest a bien fonctionné, mais en tant qu'appel ajax, il ne redirige pas l'utilisateur et je ne peux pas récupérer l'en-tête Location de la réponse.

Je n'ai pas de contrôle sur l'autre application, et je suis autorisé à utiliser uniquement nos bibliothèques, donc JQuery n'est pas une option.

Est-ce que quelqu'un sait comment je peux y arriver? Côté serveur ou côté client.

+0

Je le ferais du côté serveur en utilisant la classe WebRequest. – vikasde

+0

J'ai essayé cela, mais comment puis-je configurer la redirection? Sans écrire le contenu sur ma réponse? –

+0

En outre, où puis-je définir les données que je transmets sur WebRequest? –

Répondre

1

La plupart POST-base scénarios inter-domaine SSO fonctionnent comme ceci:

  • frais navigateur non authentifié va au fournisseur de services
  • fournisseur de services redirige vers url SSO avec une certaine chaîne de requête (contenant généralement de petite taille demande signée par fournisseur de services, pour identifier ce fournisseur de services à la porte SSO)
  • navigateur effectue une requête GET à l'URL de la passerelle SSO
  • passerelle SSO répond avec une interface utilisateur ouverture de session interactive
  • navigateur obtient le nom/entrée de mot de passe utilisateur et les messages à la passerelle SSO
  • de vérifie la passerelle d'authentification unique et répond avec une page HTML avec un petit Javascript dans ce, contenant les données de réponse d'authentification
  • Javascript à son tour pour instruction à navigateur POST authentification les données de réponse au fournisseur de services URL

Lire ici: http://en.wikipedia.org/wiki/SAML_2.0#HTTP_POST_Binding Vous bénéficierez aussi grandement de la lecture à travers SAML2, OAuth et spécifications WS-Federation.