Python Social Auth Django とか AllAuth でリダイレクト先のURL が HTTPS でなく HTTP で困った

Django
2018-07-12 11:24 (7 years ago)
Python Social Auth Django とか AllAuth でリダイレクト先のURL が HTTPS でなく HTTP で困った

Django Social Auth の Django モジュールや AllAuth のリダイレクト先プロトコルスキームが HTTPS ではなく HTTP になって困った
(callback_uri, redirect_uri, destination)

Django の設定

URI の作成は、django.http.request.HttpRequest.build_absolute_uri が使われるので、

settings に

SECURE_PROXY_SSL_HEADER = ('HTTP_X_FORWARDED_PROTO', 'https')

を定義する。

nginx の設定

nginx が httpsを受けている場合は、nginx の設定は

location / {
proxy_set_header X-Forwarded-Proto $scheme;
...

こんな感じ、

nginxが https ではなく http で受けている場合、例えば ELBなんかで https を展開している場合は

location / {
proxy_set_header X-Forwarded-Proto https;
...

https のヘッダーを直接渡せばいいかな

評価をお願いします
まだ評価がありません
著者は、アプリケーション開発会社 Cyberneura を運営しています。
開発相談をお待ちしています。

アーカイブ