mirror of
https://github.com/ansible/awx.git
synced 2026-05-08 09:57:35 -02:30
Fix SAML auth behind load balancer issue.
Relates to #7586 of ansible-tower as a follow-up of fix #420 of tower. The original fix works for Django version 1.9 and above, this PR expanded the solution to Django verison 1.8 and below. Signed-off-by: Aaron Tan <jangsutsr@gmail.com>
This commit is contained in:
@@ -1,6 +1,10 @@
|
|||||||
# Copyright (c) 2017 Ansible, Inc.
|
# Copyright (c) 2017 Ansible, Inc.
|
||||||
# All Rights Reserved.
|
# All Rights Reserved.
|
||||||
|
|
||||||
|
# Django
|
||||||
|
from django.conf import settings
|
||||||
|
|
||||||
|
# Python social auth
|
||||||
from social.strategies.django_strategy import DjangoStrategy
|
from social.strategies.django_strategy import DjangoStrategy
|
||||||
|
|
||||||
|
|
||||||
@@ -9,8 +13,9 @@ class AWXDjangoStrategy(DjangoStrategy):
|
|||||||
fixes and updates from social-app-django
|
fixes and updates from social-app-django
|
||||||
|
|
||||||
TODO: Revert back to using the default DjangoStrategy after
|
TODO: Revert back to using the default DjangoStrategy after
|
||||||
we upgrade to social-core / social-app-django. We will also
|
we upgrade to social-core / social-app-django and upgrade Django
|
||||||
want to ensure we update the SOCIAL_AUTH_STRATEGY setting.
|
to 1.9 and above. We will also want to ensure we update the
|
||||||
|
SOCIAL_AUTH_STRATEGY setting.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
def request_port(self):
|
def request_port(self):
|
||||||
@@ -24,4 +29,7 @@ class AWXDjangoStrategy(DjangoStrategy):
|
|||||||
try:
|
try:
|
||||||
return host_parts[1]
|
return host_parts[1]
|
||||||
except IndexError:
|
except IndexError:
|
||||||
return self.request.META['SERVER_PORT']
|
if settings.USE_X_FORWARDED_PORT and 'HTTP_X_FORWARDED_PORT' in self.request.META:
|
||||||
|
return self.request.META['HTTP_X_FORWARDED_PORT']
|
||||||
|
else:
|
||||||
|
return self.request.META['SERVER_PORT']
|
||||||
|
|||||||
Reference in New Issue
Block a user