私は、アクセス管理(AM)サーバを使用してソーシャルログインページを作成しています。 ユーザーがログインボタンをクリックすると、AMサーバーにhttpポストコールをフェッチします。 AMサーバーは、ソーシャルログインページに認証Cookieを使用してHTTP 301リダイレクト応答を生成します。どういうわけかこのリダイレクトレスポンスに従って、新しいコンテンツをWebブラウザに表示する必要があります。フェッチ後のコール後にリダイレクト
UI:ReactJS
要求:私はリダイレクト応答を追跡し、新しいコンテンツを表示するにはどうすればよい
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);
});
}
:
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=...
応答
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
は、コードに反応しますウェブでwser?
fetch(url、{method: 'POST'}) 'を' fetch(url、{method: 'POST'、リダイレクト: 'follow'})に変更する 'fetch'を自動的にリダイレクトすることができます。 – Derek