Merge pull request #1637 from rooftopcellist/exp_setting_update

Token Expiration Setting Update
This commit is contained in:
Christian Adams
2018-05-01 15:05:33 -04:00
committed by GitHub
4 changed files with 6 additions and 16 deletions

View File

@@ -4,6 +4,7 @@ from django.utils.translation import ugettext_lazy as _
# AWX # AWX
from awx.conf import fields, register from awx.conf import fields, register
from awx.api.fields import OAuth2ProviderField from awx.api.fields import OAuth2ProviderField
from oauth2_provider.settings import oauth2_settings
register( register(
@@ -36,7 +37,7 @@ register(
register( register(
'OAUTH2_PROVIDER', 'OAUTH2_PROVIDER',
field_class=OAuth2ProviderField, field_class=OAuth2ProviderField,
default={'ACCESS_TOKEN_EXPIRE_SECONDS': 315360000000, default={'ACCESS_TOKEN_EXPIRE_SECONDS': oauth2_settings.ACCESS_TOKEN_EXPIRE_SECONDS,
'AUTHORIZATION_CODE_EXPIRE_SECONDS': 600}, 'AUTHORIZATION_CODE_EXPIRE_SECONDS': 600},
label=_('OAuth 2 Timeout Settings'), label=_('OAuth 2 Timeout Settings'),
help_text=_('Dictionary for customizing OAuth 2 timeouts, available items are ' help_text=_('Dictionary for customizing OAuth 2 timeouts, available items are '

View File

@@ -14,7 +14,6 @@ from datetime import timedelta
# OAuth2 # OAuth2
from oauthlib.common import generate_token from oauthlib.common import generate_token
from oauth2_provider.settings import oauth2_settings
# Django # Django
from django.conf import settings from django.conf import settings
@@ -1024,7 +1023,7 @@ class UserAuthorizedTokenSerializer(BaseSerializer):
validated_data['user'] = current_user validated_data['user'] = current_user
validated_data['token'] = generate_token() validated_data['token'] = generate_token()
validated_data['expires'] = now() + timedelta( validated_data['expires'] = now() + timedelta(
seconds=oauth2_settings.ACCESS_TOKEN_EXPIRE_SECONDS seconds=settings.OAUTH2_PROVIDER['ACCESS_TOKEN_EXPIRE_SECONDS']
) )
obj = super(OAuth2TokenSerializer, self).create(validated_data) obj = super(OAuth2TokenSerializer, self).create(validated_data)
obj.save() obj.save()
@@ -1176,7 +1175,7 @@ class OAuth2TokenSerializer(BaseSerializer):
validated_data['user'] = current_user validated_data['user'] = current_user
validated_data['token'] = generate_token() validated_data['token'] = generate_token()
validated_data['expires'] = now() + timedelta( validated_data['expires'] = now() + timedelta(
seconds=oauth2_settings.ACCESS_TOKEN_EXPIRE_SECONDS seconds=settings.OAUTH2_PROVIDER['ACCESS_TOKEN_EXPIRE_SECONDS']
) )
obj = super(OAuth2TokenSerializer, self).create(validated_data) obj = super(OAuth2TokenSerializer, self).create(validated_data)
if obj.application and obj.application.user: if obj.application and obj.application.user:
@@ -1239,7 +1238,7 @@ class OAuth2AuthorizedTokenSerializer(BaseSerializer):
validated_data['user'] = current_user validated_data['user'] = current_user
validated_data['token'] = generate_token() validated_data['token'] = generate_token()
validated_data['expires'] = now() + timedelta( validated_data['expires'] = now() + timedelta(
seconds=oauth2_settings.ACCESS_TOKEN_EXPIRE_SECONDS seconds=settings.OAUTH2_PROVIDER['ACCESS_TOKEN_EXPIRE_SECONDS']
) )
obj = super(OAuth2AuthorizedTokenSerializer, self).create(validated_data) obj = super(OAuth2AuthorizedTokenSerializer, self).create(validated_data)
if obj.application and obj.application.user: if obj.application and obj.application.user:
@@ -1306,7 +1305,7 @@ class OAuth2PersonalTokenSerializer(BaseSerializer):
validated_data['user'] = self.context['request'].user validated_data['user'] = self.context['request'].user
validated_data['token'] = generate_token() validated_data['token'] = generate_token()
validated_data['expires'] = now() + timedelta( validated_data['expires'] = now() + timedelta(
seconds=oauth2_settings.ACCESS_TOKEN_EXPIRE_SECONDS seconds=settings.OAUTH2_PROVIDER['ACCESS_TOKEN_EXPIRE_SECONDS']
) )
validated_data['application'] = None validated_data['application'] = None
obj = super(OAuth2PersonalTokenSerializer, self).create(validated_data) obj = super(OAuth2PersonalTokenSerializer, self).create(validated_data)

View File

@@ -11,16 +11,8 @@ class ConfConfig(AppConfig):
name = 'awx.conf' name = 'awx.conf'
verbose_name = _('Configuration') verbose_name = _('Configuration')
def configure_oauth2_provider(self, settings):
from oauth2_provider import settings as o_settings
o_settings.oauth2_settings = o_settings.OAuth2ProviderSettings(
settings.OAUTH2_PROVIDER, o_settings.DEFAULTS,
o_settings.IMPORT_STRINGS, o_settings.MANDATORY
)
def ready(self): def ready(self):
self.module.autodiscover() self.module.autodiscover()
from .settings import SettingsWrapper from .settings import SettingsWrapper
SettingsWrapper.initialize() SettingsWrapper.initialize()
configure_external_logger(settings) configure_external_logger(settings)
self.configure_oauth2_provider(settings)

View File

@@ -204,8 +204,6 @@ def handle_setting_changes(self, setting_keys):
if key.startswith('LOG_AGGREGATOR_'): if key.startswith('LOG_AGGREGATOR_'):
restart_local_services(['uwsgi', 'celery', 'beat', 'callback']) restart_local_services(['uwsgi', 'celery', 'beat', 'callback'])
break break
elif key == 'OAUTH2_PROVIDER':
restart_local_services(['uwsgi'])
@shared_task(bind=True, exchange='tower_broadcast_all') @shared_task(bind=True, exchange='tower_broadcast_all')