2011-09-23 4 views
1

Pour avoir plus d'opinion sur quelque chose sur quoi je travaille en ce moment et que pensez-vous être mieux dans cette situation?Azure ACS Popup ou In Page Redirect, quoi de mieux?

En ce moment, je construis un login en utilisant l'Azure ACS, et je voulais savoir lequel serait le meilleur. Lorsqu'un utilisateur clique sur le nom de connexion qu'il souhaite utiliser, il ouvre une fenêtre contextuelle, puis il peut se connecter à l'aide de cette option. Mais je ne peux pas fermer cette fenêtre popup. Une fois connecté, j'espérais fermer la fenêtre contextuelle et rediriger vers une page différente de l'onglet sur lequel ils se trouvent, mais je ne suis pas sûr que cela soit possible avec ACS.

Option 2 Il y a la page dans redirect mais qui prend l'utilisateur hors du site, et il est vraiment quelque chose que je ne voulais pas le faire.

Existe-t-il un moyen d'obtenir l'option 1 pour fonctionner comme je le souhaite avec Azure ACS? Comme dans:

  1. utilisateur va à mon page de connexion
  2. utilisateur frappe Google ou Facebook
  3. Popup ouvert avec le signe
  4. Une fois connecte, pop-up se ferme
  5. utilisateur Tab est on est redirigé vers la page utilisateur, et j'ai toujours l'Objet FormCollection à utiliser dans cette vue.

Voici les js que j'utilise.

$(function() { 
    $(".signup a").click(function() { 
     var sizes = ["width=850,height=500"]; 
     var url = $(this).attr("class"); 
     var name = "popUp"; 
     var size = sizes[0]; 

     window.open(url, name, size); 
    }); 
}); 

Répondre

2

Dans votre configuration ACS Relying Party, vous avez la configuration "URL de retour". Cette URL est l'endroit où ACS publiera votre jeton de sécurité. Ou en d'autres termes, l'emplacement de redirection final une fois que l'utilisateur se connecte avec un fournisseur d'identité.

Donc ce que vous devez faire est de définir l'URL Retour à quelque chose comme: https://mysite/loggedin

Et dans la page loggedin/vue recharger la page qui a ouvert cette page et fermer cette page:

$(function() { 
    window.opener.location.reload(); 
    self.close(); 
}); 

Une fois que l'ACS redirigera vers votre site, WSFam créera via WSSam le cookie de la session WS Fed, et une fois que vous rechargerez votre page d'ouverture, votre page sera chargée avec le cookie WS Fed, ce qui signifie que vous aurez l'utilisateur connecté.

+0

Merci Atacan c'est ce dont j'avais besoin. – Bombcode

Questions connexes