Add scope configuration
This commit is contained in:
		| @ -56,6 +56,14 @@ async function register ({ | |||||||
|     private: true |     private: true | ||||||
|   }) |   }) | ||||||
|  |  | ||||||
|  |   registerSetting({ | ||||||
|  |     name: 'scope', | ||||||
|  |     label: 'Scope', | ||||||
|  |     type: 'input', | ||||||
|  |     private: true, | ||||||
|  |     default: 'openid email profile' | ||||||
|  |   }) | ||||||
|  |  | ||||||
|   registerSetting({ |   registerSetting({ | ||||||
|     name: 'username-property', |     name: 'username-property', | ||||||
|     label: 'Username property', |     label: 'Username property', | ||||||
| @ -94,15 +102,15 @@ async function register ({ | |||||||
|   const secretKeyBuf = await getRandomBytes(16) |   const secretKeyBuf = await getRandomBytes(16) | ||||||
|   store.secretKey = secretKeyBuf.toString('hex') |   store.secretKey = secretKeyBuf.toString('hex') | ||||||
|  |  | ||||||
|   await loadSettingsAndCreateClient(registerExternalAuth, unregisterExternalAuth, peertubeHelpers, settingsManager) |  | ||||||
|   store.authDisplayName = await settingsManager.getSetting('auth-display-name') |  | ||||||
|  |  | ||||||
|   settingsManager.onSettingsChange(settings => { |   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'] |     if (settings['auth-display-name']) store.authDisplayName = settings['auth-display-name'] | ||||||
|   }) |   }) | ||||||
|  |  | ||||||
|  |   await loadSettingsAndCreateClient(registerExternalAuth, unregisterExternalAuth, peertubeHelpers, settingsManager) | ||||||
|  |   store.authDisplayName = await settingsManager.getSetting('auth-display-name') | ||||||
| } | } | ||||||
|  |  | ||||||
| async function unregister () { | async function unregister () { | ||||||
| @ -127,6 +135,7 @@ async function loadSettingsAndCreateClient (registerExternalAuth, unregisterExte | |||||||
|   store.userAuthenticated = null |   store.userAuthenticated = null | ||||||
|  |  | ||||||
|   const settings = await settingsManager.getSettings([ |   const settings = await settingsManager.getSettings([ | ||||||
|  |     'scope', | ||||||
|     'discover-url', |     'discover-url', | ||||||
|     'client-id', |     'client-id', | ||||||
|     'client-secret' |     'client-secret' | ||||||
| @ -172,7 +181,7 @@ async function loadSettingsAndCreateClient (registerExternalAuth, unregisterExte | |||||||
|         const codeChallenge = openidModule.generators.codeChallenge(codeVerifier) |         const codeChallenge = openidModule.generators.codeChallenge(codeVerifier) | ||||||
|  |  | ||||||
|         const redirectUrl = store.client.authorizationUrl({ |         const redirectUrl = store.client.authorizationUrl({ | ||||||
|           scope: 'openid email profile', |           scope: settings['scope'], | ||||||
|           response_mode: 'form_post', |           response_mode: 'form_post', | ||||||
|           code_challenge: codeChallenge, |           code_challenge: codeChallenge, | ||||||
|           code_challenge_method: 'S256' |           code_challenge_method: 'S256' | ||||||
|  | |||||||
		Reference in New Issue
	
	Block a user