以下は私のシナリオです。ユーザーがhttp://mypage.sso.com (私の sso エンドポイント) にアクセスすると、ユーザーが認証され、認証トークンを使用して私のサイト ( https://mypage.com ) への POST 要求が実行されます。ポスト本体。nginx で POST 本文を読み込ん$response_body
で Cookie に保存し、Angular アプリケーション (index.html) を起動しようとしています。Nginx conf ファイル (Nginx バージョン 1.11.2) で次の構成を行いました。
location / {
root /app/UI/dist/public/;
index index.html;
proxy_http_version 1.1;
proxy_set_header Host 127.0.0.1;
proxy_pass $scheme://127.0.0.1:80/auth;
add_header Set-Cookie lcid='$request_body';
error_page 405 =200 $uri;
}
location /auth{
return 200;
}
ユーザーが mypage.sso.com にアクセスすると、DMS ファイルがダウンロードされ、マイページ (mypage.com) にリダイレクトされません。しかし、Cookieが認証トークン(投稿本文から取得)で適切に設定されていることがわかります(すでに開いているmypage.comでこれを見ることができました)。Nginx conf sso エンドポイントから削除する
proxy_pass $scheme://127.0.0.1:80/auth;
と、mypage.com に適切にリダイレクトされますが、$request_body
空であるため、Cookie も空の値に設定されます。Cookie を POST 本文データで適切に設定し、mypage.com にリダイレクトして、DMS ファイルのダウンロードを回避するには、どのような変更を行う必要がありますか。