Skip to content

Commit 24ecdbd

Browse files
authored
Fix UI on edit auth source page (#14137)
* do not override OAuth URLs with default values when editing an auth source (fixes #12014) * show custom url inputs by default for providers that don't provide an official hosted service
1 parent ad1164f commit 24ecdbd

File tree

1 file changed

+19
-15
lines changed

1 file changed

+19
-15
lines changed

web_src/js/index.js

Lines changed: 19 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1832,37 +1832,41 @@ function initAdmin() {
18321832
}
18331833
}
18341834

1835-
function onOAuth2Change() {
1835+
function onOAuth2Change(applyDefaultValues) {
18361836
$('.open_id_connect_auto_discovery_url, .oauth2_use_custom_url').hide();
18371837
$('.open_id_connect_auto_discovery_url input[required]').removeAttr('required');
18381838

18391839
const provider = $('#oauth2_provider').val();
18401840
switch (provider) {
1841-
case 'github':
1842-
case 'gitlab':
18431841
case 'gitea':
18441842
case 'nextcloud':
18451843
case 'mastodon':
1844+
$('#oauth2_use_custom_url').attr('checked', 'checked');
1845+
// fallthrough intentional
1846+
case 'github':
1847+
case 'gitlab':
18461848
$('.oauth2_use_custom_url').show();
18471849
break;
18481850
case 'openidConnect':
18491851
$('.open_id_connect_auto_discovery_url input').attr('required', 'required');
18501852
$('.open_id_connect_auto_discovery_url').show();
18511853
break;
18521854
}
1853-
onOAuth2UseCustomURLChange();
1855+
onOAuth2UseCustomURLChange(applyDefaultValues);
18541856
}
18551857

1856-
function onOAuth2UseCustomURLChange() {
1858+
function onOAuth2UseCustomURLChange(applyDefaultValues) {
18571859
const provider = $('#oauth2_provider').val();
18581860
$('.oauth2_use_custom_url_field').hide();
18591861
$('.oauth2_use_custom_url_field input[required]').removeAttr('required');
18601862

18611863
if ($('#oauth2_use_custom_url').is(':checked')) {
1862-
$('#oauth2_token_url').val($(`#${provider}_token_url`).val());
1863-
$('#oauth2_auth_url').val($(`#${provider}_auth_url`).val());
1864-
$('#oauth2_profile_url').val($(`#${provider}_profile_url`).val());
1865-
$('#oauth2_email_url').val($(`#${provider}_email_url`).val());
1864+
if (applyDefaultValues) {
1865+
$('#oauth2_token_url').val($(`#${provider}_token_url`).val());
1866+
$('#oauth2_auth_url').val($(`#${provider}_auth_url`).val());
1867+
$('#oauth2_profile_url').val($(`#${provider}_profile_url`).val());
1868+
$('#oauth2_email_url').val($(`#${provider}_email_url`).val());
1869+
}
18661870

18671871
switch (provider) {
18681872
case 'github':
@@ -1923,7 +1927,7 @@ function initAdmin() {
19231927
case '6': // OAuth2
19241928
$('.oauth2').show();
19251929
$('.oauth2 div.required:not(.oauth2_use_custom_url,.oauth2_use_custom_url_field,.open_id_connect_auto_discovery_url) input').attr('required', 'required');
1926-
onOAuth2Change();
1930+
onOAuth2Change(true);
19271931
break;
19281932
case '7': // SSPI
19291933
$('.sspi').show();
@@ -1941,8 +1945,8 @@ function initAdmin() {
19411945
$('#auth_type').trigger('change');
19421946
$('#security_protocol').on('change', onSecurityProtocolChange);
19431947
$('#use_paged_search').on('change', onUsePagedSearchChange);
1944-
$('#oauth2_provider').on('change', onOAuth2Change);
1945-
$('#oauth2_use_custom_url').on('change', onOAuth2UseCustomURLChange);
1948+
$('#oauth2_provider').on('change', () => onOAuth2Change(true));
1949+
$('#oauth2_use_custom_url').on('change', () => onOAuth2UseCustomURLChange(true));
19461950
$('#groups_enabled').on('change', onVerifyGroupMembershipChange);
19471951
}
19481952
// Edit authentication
@@ -1956,9 +1960,9 @@ function initAdmin() {
19561960
$('#use_paged_search').on('change', onUsePagedSearchChange);
19571961
}
19581962
} else if (authType === '6') {
1959-
$('#oauth2_provider').on('change', onOAuth2Change);
1960-
$('#oauth2_use_custom_url').on('change', onOAuth2UseCustomURLChange);
1961-
onOAuth2Change();
1963+
$('#oauth2_provider').on('change', () => onOAuth2Change(true));
1964+
$('#oauth2_use_custom_url').on('change', () => onOAuth2UseCustomURLChange(false));
1965+
onOAuth2Change(false);
19621966
}
19631967
}
19641968

0 commit comments

Comments
 (0)