Set openid auth display name in a setting

This commit is contained in:
Chocobozzz 2020-04-30 15:10:20 +02:00
parent 3640cc3363
commit 66b13f19c6
No known key found for this signature in database
GPG Key ID: 583A612D890159BE

View File

@ -5,7 +5,8 @@ const store = {
client: null, client: null,
userAuthenticated: null, userAuthenticated: null,
secretKey: null, secretKey: null,
redirectUrl: null redirectUrl: null,
authDisplayName: 'OpenID Connect'
} }
const encryptionOptions = { const encryptionOptions = {
@ -26,6 +27,14 @@ async function register ({
}) { }) {
const { logger } = peertubeHelpers const { logger } = peertubeHelpers
registerSetting({
name: 'auth-display-name',
label: 'Auth display name',
type: 'input',
private: true,
default: 'OpenID Connect'
})
registerSetting({ registerSetting({
name: 'discover-url', name: 'discover-url',
label: 'Discover URL', label: 'Discover URL',
@ -86,10 +95,13 @@ async function register ({
store.secretKey = secretKeyBuf.toString('hex') store.secretKey = secretKeyBuf.toString('hex')
await loadSettingsAndCreateClient(registerExternalAuth, unregisterExternalAuth, peertubeHelpers, settingsManager) await loadSettingsAndCreateClient(registerExternalAuth, unregisterExternalAuth, peertubeHelpers, settingsManager)
store.authDisplayName = await settingsManager.getSetting('auth-display-name')
settingsManager.onSettingsChange(() => { settingsManager.onSettingsChange(settings => {
loadSettingsAndCreateClient(registerExternalAuth, unregisterExternalAuth, peertubeHelpers, settingsManager) loadSettingsAndCreateClient(registerExternalAuth, unregisterExternalAuth, peertubeHelpers, settingsManager)
.catch(err => logger.error('Cannot load settings and create client after settings changes.', { err })) .catch(err => logger.error('Cannot load settings and create client after settings changes.', { err }))
if (settings['auth-display-name']) store.authDisplayName = settings['auth-display-name']
}) })
} }
@ -108,7 +120,7 @@ async function loadSettingsAndCreateClient (registerExternalAuth, unregisterExte
const { logger, config } = peertubeHelpers const { logger, config } = peertubeHelpers
if (store.client) { if (store.client) {
unregisterExternalAuth('openid') unregisterExternalAuth('openid-connect')
} }
store.client = null store.client = null
@ -156,7 +168,7 @@ async function loadSettingsAndCreateClient (registerExternalAuth, unregisterExte
const result = registerExternalAuth({ const result = registerExternalAuth({
authName: 'openid-connect', authName: 'openid-connect',
authDisplayName: () => 'OpenID Connect', authDisplayName: () => store.authDisplayName,
onAuthRequest: async (req, res) => { onAuthRequest: async (req, res) => {
try { try {
const codeVerifier = openidModule.generators.codeVerifier() const codeVerifier = openidModule.generators.codeVerifier()