diff --git a/client/pages/config/authentication.vue b/client/pages/config/authentication.vue index 5159c039..4d698857 100644 --- a/client/pages/config/authentication.vue +++ b/client/pages/config/authentication.vue @@ -58,7 +58,7 @@ - + @@ -164,9 +164,6 @@ export default { value: 'username' } ] - }, - hasSupportedSigningAlgorithms() { - return this.openIdSigningAlgorithmsSupportedByIssuer.length > 0 } }, methods: { @@ -186,14 +183,17 @@ export default { } const setSupportedSigningAlgorithms = (algorithms) => { + if (!algorithms?.length || !Array.isArray(algorithms)) { + console.warn('Invalid id_token_signing_alg_values_supported from openid-configuration', algorithms) + this.openIdSigningAlgorithmsSupportedByIssuer = [] + return + } this.openIdSigningAlgorithmsSupportedByIssuer = algorithms - if(!algorithms || algorithms.length === 0) return - // If a signing algorithm is already selected, then keep it, when it is still supported. // But if it is not supported, then select one of the supported ones. let currentAlgorithm = this.newAuthSettings.authOpenIDTokenSigningAlgorithm - if(!algorithms.includes(currentAlgorithm)) { + if (!algorithms.includes(currentAlgorithm)) { this.newAuthSettings.authOpenIDTokenSigningAlgorithm = algorithms[0] } } @@ -245,7 +245,6 @@ export default { this.$toast.error('Client Secret required') isValid = false } - if (!this.newAuthSettings.authOpenIDTokenSigningAlgorithm) { this.$toast.error('Signing Algorithm required') isValid = false