feat: implement OAuth 2.0 / OpenID Connect support
Some checks failed
Build & Push Docker Image / build (push) Failing after 1m12s
Some checks failed
Build & Push Docker Image / build (push) Failing after 1m12s
- Added OAuth configuration management in the admin panel. - Implemented OAuth authorization flow with PKCE for enhanced security. - Created routes for handling OAuth provider discovery, authorization, and callback. - Integrated OAuth login and registration options in the frontend. - Updated UI components to support OAuth login and registration. - Added internationalization strings for OAuth-related messages. - Implemented encryption for client secrets and secure state management. - Added error handling and user feedback for OAuth processes.
This commit is contained in:
@@ -91,7 +91,15 @@
|
||||
"emailVerificationResendSuccess": "Verifizierungsmail wurde gesendet!",
|
||||
"emailVerificationResendFailed": "Verifizierungsmail konnte nicht gesendet werden",
|
||||
"inviteOnly": "Nur mit Einladung",
|
||||
"inviteOnlyDesc": "Die Registrierung ist derzeit eingeschränkt. Sie benötigen einen Einladungslink von einem Administrator, um ein Konto zu erstellen."
|
||||
"inviteOnlyDesc": "Die Registrierung ist derzeit eingeschränkt. Sie benötigen einen Einladungslink von einem Administrator, um ein Konto zu erstellen.",
|
||||
"orContinueWith": "oder weiter mit",
|
||||
"loginWithOAuth": "Anmelden mit {provider}",
|
||||
"registerWithOAuth": "Registrieren mit {provider}",
|
||||
"backToLogin": "Zurück zum Login",
|
||||
"oauthError": "Anmeldung fehlgeschlagen",
|
||||
"oauthNoToken": "Kein Authentifizierungstoken erhalten.",
|
||||
"oauthLoginFailed": "Anmeldung konnte nicht abgeschlossen werden. Bitte versuche es erneut.",
|
||||
"oauthRedirecting": "Du wirst angemeldet..."
|
||||
},
|
||||
"home": {
|
||||
"poweredBy": "Powered by BigBlueButton",
|
||||
@@ -395,7 +403,26 @@
|
||||
"imprintUrlSaved": "Impressum-URL gespeichert",
|
||||
"privacyUrlSaved": "Datenschutz-URL gespeichert",
|
||||
"imprintUrlFailed": "Impressum-URL konnte nicht gespeichert werden",
|
||||
"privacyUrlFailed": "Datenschutz-URL konnte nicht gespeichert werden"
|
||||
"privacyUrlFailed": "Datenschutz-URL konnte nicht gespeichert werden",
|
||||
"oauthTitle": "OAuth / SSO",
|
||||
"oauthDescription": "OpenID-Connect-Anbieter verbinden (z. B. Keycloak, Authentik, Google) für Single Sign-On.",
|
||||
"oauthIssuer": "Issuer-URL",
|
||||
"oauthIssuerHint": "Die OIDC-Issuer-URL, z. B. https://auth.example.com/realms/main",
|
||||
"oauthClientId": "Client-ID",
|
||||
"oauthClientSecret": "Client-Secret",
|
||||
"oauthClientSecretHint": "Leer lassen, um das bestehende Secret beizubehalten",
|
||||
"oauthDisplayName": "Button-Beschriftung",
|
||||
"oauthDisplayNameHint": "Wird auf der Login-Seite angezeigt, z. B. „Firmen-SSO"",
|
||||
"oauthAutoRegister": "Neue Benutzer automatisch registrieren",
|
||||
"oauthAutoRegisterHint": "Erstellt automatisch Konten für Benutzer, die sich zum ersten Mal per OAuth anmelden.",
|
||||
"oauthSaved": "OAuth-Konfiguration gespeichert",
|
||||
"oauthSaveFailed": "OAuth-Konfiguration konnte nicht gespeichert werden",
|
||||
"oauthRemoved": "OAuth-Konfiguration entfernt",
|
||||
"oauthRemoveFailed": "OAuth-Konfiguration konnte nicht entfernt werden",
|
||||
"oauthRemoveConfirm": "OAuth-Konfiguration wirklich entfernen? Benutzer können sich dann nicht mehr per SSO anmelden.",
|
||||
"oauthNotConfigured": "OAuth ist noch nicht konfiguriert.",
|
||||
"oauthSave": "OAuth speichern",
|
||||
"oauthRemove": "OAuth entfernen"
|
||||
},
|
||||
"notifications": {
|
||||
"bell": "Benachrichtigungen",
|
||||
|
||||
@@ -91,7 +91,15 @@
|
||||
"emailVerificationResendSuccess": "Verification email sent!",
|
||||
"emailVerificationResendFailed": "Could not send verification email",
|
||||
"inviteOnly": "Invite Only",
|
||||
"inviteOnlyDesc": "Registration is currently restricted. You need an invitation link from an administrator to create an account."
|
||||
"inviteOnlyDesc": "Registration is currently restricted. You need an invitation link from an administrator to create an account.",
|
||||
"orContinueWith": "or continue with",
|
||||
"loginWithOAuth": "Sign in with {provider}",
|
||||
"registerWithOAuth": "Sign up with {provider}",
|
||||
"backToLogin": "Back to login",
|
||||
"oauthError": "Authentication failed",
|
||||
"oauthNoToken": "No authentication token received.",
|
||||
"oauthLoginFailed": "Could not complete sign in. Please try again.",
|
||||
"oauthRedirecting": "Signing you in..."
|
||||
},
|
||||
"home": {
|
||||
"poweredBy": "Powered by BigBlueButton",
|
||||
@@ -395,7 +403,26 @@
|
||||
"imprintUrlSaved": "Imprint URL saved",
|
||||
"privacyUrlSaved": "Privacy Policy URL saved",
|
||||
"imprintUrlFailed": "Could not save Imprint URL",
|
||||
"privacyUrlFailed": "Could not save Privacy Policy URL"
|
||||
"privacyUrlFailed": "Could not save Privacy Policy URL",
|
||||
"oauthTitle": "OAuth / SSO",
|
||||
"oauthDescription": "Connect an OpenID Connect provider (e.g. Keycloak, Authentik, Google) to allow Single Sign-On.",
|
||||
"oauthIssuer": "Issuer URL",
|
||||
"oauthIssuerHint": "The OIDC issuer URL, e.g. https://auth.example.com/realms/main",
|
||||
"oauthClientId": "Client ID",
|
||||
"oauthClientSecret": "Client Secret",
|
||||
"oauthClientSecretHint": "Leave blank to keep the existing secret",
|
||||
"oauthDisplayName": "Button label",
|
||||
"oauthDisplayNameHint": "Shown on the login page, e.g. \"Company SSO\"",
|
||||
"oauthAutoRegister": "Auto-register new users",
|
||||
"oauthAutoRegisterHint": "Automatically create accounts for users signing in via OAuth for the first time.",
|
||||
"oauthSaved": "OAuth configuration saved",
|
||||
"oauthSaveFailed": "Could not save OAuth configuration",
|
||||
"oauthRemoved": "OAuth configuration removed",
|
||||
"oauthRemoveFailed": "Could not remove OAuth configuration",
|
||||
"oauthRemoveConfirm": "Really remove OAuth configuration? Users will no longer be able to sign in with SSO.",
|
||||
"oauthNotConfigured": "OAuth is not configured yet.",
|
||||
"oauthSave": "Save OAuth",
|
||||
"oauthRemove": "Remove OAuth"
|
||||
},
|
||||
"notifications": {
|
||||
"bell": "Notifications",
|
||||
|
||||
Reference in New Issue
Block a user