diff --git a/awx/sso/conf.py b/awx/sso/conf.py index ac9b0e76e1..ddfd80fd13 100644 --- a/awx/sso/conf.py +++ b/awx/sso/conf.py @@ -148,6 +148,16 @@ register( placeholder=['username', 'email'], ) +register( + 'SOCIAL_AUTH_USERNAME_IS_FULL_EMAIL', + field_class=fields.BooleanField, + default=False, + label=_('Use Email address for usernames'), + help_text=_('Enabling this setting will tell social auth to use the full Email as username instead of the full name'), + category=_('Authentication'), + category_slug='authentication', +) + ############################################################################### # LDAP AUTHENTICATION SETTINGS ############################################################################### diff --git a/awx/ui/src/screens/Setting/MiscAuthentication/MiscAuthenticationDetail/MiscAuthenticationDetail.test.js b/awx/ui/src/screens/Setting/MiscAuthentication/MiscAuthenticationDetail/MiscAuthenticationDetail.test.js index dd17494386..dc08630ee5 100644 --- a/awx/ui/src/screens/Setting/MiscAuthentication/MiscAuthenticationDetail/MiscAuthenticationDetail.test.js +++ b/awx/ui/src/screens/Setting/MiscAuthentication/MiscAuthenticationDetail/MiscAuthenticationDetail.test.js @@ -40,6 +40,7 @@ describe('', () => { SOCIAL_AUTH_ORGANIZATION_MAP: {}, SOCIAL_AUTH_TEAM_MAP: {}, SOCIAL_AUTH_USER_FIELDS: [], + SOCIAL_AUTH_USERNAME_IS_FULL_EMAIL: false, }, }); await act(async () => { @@ -79,6 +80,7 @@ describe('', () => { assertVariableDetail(wrapper, 'Social Auth Organization Map', '{}'); assertVariableDetail(wrapper, 'Social Auth Team Map', '{}'); assertVariableDetail(wrapper, 'Social Auth User Fields', '[]'); + assertDetail(wrapper, 'Use Email address for usernames', 'Off'); assertDetail( wrapper, 'Allow External Users to Create OAuth2 Tokens', diff --git a/awx/ui/src/screens/Setting/MiscAuthentication/MiscAuthenticationEdit/MiscAuthenticationEdit.js b/awx/ui/src/screens/Setting/MiscAuthentication/MiscAuthenticationEdit/MiscAuthenticationEdit.js index f19807e842..a8b7814543 100644 --- a/awx/ui/src/screens/Setting/MiscAuthentication/MiscAuthenticationEdit/MiscAuthenticationEdit.js +++ b/awx/ui/src/screens/Setting/MiscAuthentication/MiscAuthenticationEdit/MiscAuthenticationEdit.js @@ -53,7 +53,8 @@ function MiscAuthenticationEdit() { 'SESSION_COOKIE_AGE', 'SOCIAL_AUTH_ORGANIZATION_MAP', 'SOCIAL_AUTH_TEAM_MAP', - 'SOCIAL_AUTH_USER_FIELDS' + 'SOCIAL_AUTH_USER_FIELDS', + 'SOCIAL_AUTH_USERNAME_IS_FULL_EMAIL' ); const authenticationData = { @@ -242,6 +243,10 @@ function MiscAuthenticationEdit() { name="SOCIAL_AUTH_USER_FIELDS" config={authentication.SOCIAL_AUTH_USER_FIELDS} /> + {submitError && } {revertError && } diff --git a/awx/ui/src/screens/Setting/MiscAuthentication/MiscAuthenticationEdit/MiscAuthenticationEdit.test.js b/awx/ui/src/screens/Setting/MiscAuthentication/MiscAuthenticationEdit/MiscAuthenticationEdit.test.js index cf00ea5716..d84b759113 100644 --- a/awx/ui/src/screens/Setting/MiscAuthentication/MiscAuthenticationEdit/MiscAuthenticationEdit.test.js +++ b/awx/ui/src/screens/Setting/MiscAuthentication/MiscAuthenticationEdit/MiscAuthenticationEdit.test.js @@ -32,6 +32,7 @@ const authenticationData = { SOCIAL_AUTH_ORGANIZATION_MAP: null, SOCIAL_AUTH_TEAM_MAP: null, SOCIAL_AUTH_USER_FIELDS: null, + SOCIAL_AUTH_USERNAME_IS_FULL_EMAIL: false, }; describe('', () => { diff --git a/awx/ui/src/screens/Setting/shared/data.allSettingOptions.json b/awx/ui/src/screens/Setting/shared/data.allSettingOptions.json index 99e2743e75..c68b11474e 100644 --- a/awx/ui/src/screens/Setting/shared/data.allSettingOptions.json +++ b/awx/ui/src/screens/Setting/shared/data.allSettingOptions.json @@ -859,6 +859,15 @@ "read_only": false } }, + "SOCIAL_AUTH_USERNAME_IS_FULL_EMAIL": { + "type": "boolean", + "required": false, + "label": "Use Email address for usernames", + "help_text": "Enabling this setting will tell social auth to use the full Email as username instead of the full name", + "category": "Authentication", + "category_slug": "authentication", + "default": false + }, "SOCIAL_AUTH_OIDC_KEY": { "type": "string", "label": "OIDC Key", @@ -4554,6 +4563,14 @@ "type": "string" } }, + "SOCIAL_AUTH_USERNAME_IS_FULL_EMAIL": { + "type": "boolean", + "label": "Use Email address for usernames", + "help_text": "Enabling this setting will tell social auth to use the full Email as username instead of the full name", + "category": "Authentication", + "category_slug": "authentication", + "default": false + }, "SOCIAL_AUTH_OIDC_KEY": { "type": "string", "label": "OIDC Key", diff --git a/awx/ui/src/screens/Setting/shared/data.allSettings.json b/awx/ui/src/screens/Setting/shared/data.allSettings.json index 171b2423e3..bf73ce0308 100644 --- a/awx/ui/src/screens/Setting/shared/data.allSettings.json +++ b/awx/ui/src/screens/Setting/shared/data.allSettings.json @@ -103,6 +103,7 @@ "SOCIAL_AUTH_ORGANIZATION_MAP":null, "SOCIAL_AUTH_TEAM_MAP":null, "SOCIAL_AUTH_USER_FIELDS":null, + "SOCIAL_AUTH_USERNAME_IS_FULL_EMAIL":false, "AUTH_LDAP_SERVER_URI":"ldap://ldap.example.com", "AUTH_LDAP_BIND_DN":"cn=eng_user1", "AUTH_LDAP_BIND_PASSWORD":"$encrypted$",