redirection après une extraction appel post
Je suis de la création d'un identifiant social de page avec une Gestion des Accès (AM) du serveur.
Lorsque l'utilisateur cliquera sur le bouton de connexion, puis-je faire une extraction http appel post SUIS serveur. SUIS serveur génère une réponse de redirection HTTP 301 avec auth des cookies pour le social login page. J'ai besoin de suivre en quelque sorte cette réponse de redirection et de montrer le nouveau contenu dans le navigateur web.
De l'INTERFACE utilisateur: ReactJS
Demande:
POST /api/auth/socialauth/initiate HTTP/1.1
Host example.com
User-Agent Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:49.0)
Accept */*
Accept-Language en-US,en;q=0.5
Accept-Encoding gzip, deflate
origin http://web.example.com:8080
Referer http://web.example.com:8080/myapp/login
Cookie authId=...; NTID=...
Réponse
HTTP/1.1 307 Temporary Redirect
https://www.facebook.com/dialog/oauth?client_id=...&scope=public_profile%2Cemail&redirect_uri=http%3A%2F%2Fam.example.com%3A8083%2Fopenam%2Foauth2c%2FOAuthProxy.jsp&response_type=code&state=qtrwtidnwdpbft4ctj2e9mv3mjkifqo
Réagir code:
initiateSocialLogin() {
var url = "/api/auth/socialauth/initiate";
fetch(url, { method: 'POST' })
.then(response => {
//HTTP 301 response
//HOW CAN I FOLLOW THE HTTP REDIRECT RESPONSE?
})
.catch(function(err) {
console.info(err + " url: " + url);
});
}
Comment je peux suivre la réponse de redirection et de montrer le nouveau contenu dans le navigateur web?
vous pourriez avoir
fetch
rediriger automatiquement, changement fetch(url, { method: 'POST' })
à fetch(url, { method: 'POST', redirect: 'follow' })
OriginalL'auteur zappee | 2016-09-27
Vous devez vous connecter pour publier un commentaire.
Demande.rediriger pourrait être
"follow"
,"error"
ou"manual"
.Puisque vous voulez rediriger après une extraction juste l'utiliser comme
le code ci-dessus avec de la scro ensemble ne redirige pas automatiquement. Mais je vois la nouvelle URL dans l'onglet Réseau dans la Version Chrome 61.0.3163.100 (Officiel). Aucune idée de la raison qui est au navigateur de ne pas le rendre.
OriginalL'auteur Shubham Khatri
J'ai un problème similaire et je crois que la réponse, pour chercher à l'intérieur de Réagir est la même que celle de l'ajax à l'intérieur de JQuery - si vous êtes en mesure de détecter que la réponse est une redirection, puis mise à jour de la fenêtre.emplacement.href avec la réponse.url
Voir par exemple: Comment gérer une demande de redirection après un appel Ajax jQuery
Notez que si vous êtes en mesure de détecter que la réponse est une redirection " pourrait être la partie difficile. Chercher des réponses peut contient un "redirigé" drapeau (voir https://developer.mozilla.org/en-US/docs/Web/API/Response) mais j'ai trouvé que n'est pas le cas dans Chrome. J'ai aussi trouver dans google Chrome-je obtenir un statut 200 réponse plutôt que d'un état de redirection - mais cela pourrait être quelque chose avec notre SSO mise en œuvre. Si vous utilisez une extraction polyfill avec IE, alors vous aurez besoin de vérifier si la réponse.l'url est inclus ou pas.
OriginalL'auteur vanappears