2010-02-02 6 views
3

Comment faire en sorte que l'url returnTo après que quelqu'un se connecte avec son fournisseur openId soit demandée avec POST au lieu de GET?OpenId - have returnTo demandé avec POST au lieu de GET

J'ai un formulaire que quelqu'un doit être connecté pour que le POST fonctionne. Quand ils pressent submit, ils les redirigent vers la page de connexion et ils choisissent leur fournisseur OpenID. Après avoir choisi et authentifié avec succès leur fournisseur openID, il demande à la page qu'il essayait à l'origine de demander, sauf avec GET.

Répondre

1

Il semble que vous vouliez que la réponse d'authentification soit postée sur votre RP au lieu de GET. La spécification OpenID ne permet pas au RP de mandater un POST au lieu d'un GET. En fait, GET est généralement considéré préférable à POST car il est plus rapide et n'a pas tendance à afficher des boîtes de dialogue d'avertissement à l'utilisateur si le OP est un point de terminaison HTTPS et le RP est un point de terminaison HTTP.

Mais je suis impatient de savoir pourquoi vous devez avoir la réponse d'authentification POSTed. Est-ce parce que votre URL return_to inclut les données de formulaire d'origine que l'utilisateur essayait de publier sur le RP, et qui doit maintenant être différée jusqu'à ce que l'authentification soit terminée? Si oui, je vous suggère de repenser votre conception. Envisagez une expérience utilisateur dans laquelle l'utilisateur doit se connecter, sur le formulaire, mais avant de poster le formulaire.

Comme cet exemple: http://samples.dotnetopenauth.net/v3.3/OpenIdRelyingPartyWebForms/ajaxlogin.aspx

+0

oui vous aviez raison sur l'URL return_to contenant les données de formulaire d'origine, je vais repenser ma conception. – Kyle