Add OAuth integration for multiple providers and implement user linking
Some checks failed
Deploy to production / deploy (push) Failing after 49s

- Created OAuth credentials setup guide for Google, Microsoft, Keycloak, ORY, and ZITADEL.
- Added migration for oauth_identity table to store OAuth identities linked to users.
- Implemented OAuthIdentity model for managing OAuth identities in the database.
- Developed oauthService to handle OAuth login, user creation, and identity linking.
- Created OAuthCallbackView and OAuthUserCallbackView components for handling OAuth responses in the frontend.
- Added error handling and user feedback during the OAuth process.
This commit is contained in:
Torsten Schulz (local)
2026-05-15 13:59:40 +02:00
parent 464208e30e
commit ac57931928
16 changed files with 7620 additions and 949 deletions

View File

@@ -19,3 +19,20 @@ DB_PASS=
#
# Optional (Defaults siehe utils/sequelize.js)
# DB_CONNECT_TIMEOUT_MS=30000
# OAuth / OpenID Connect
# FRONTEND_URL muss auf die öffentliche Frontend-URL zeigen, damit der Provider nach dem Login
# korrekt auf den Callback im SPA zurückspringen kann.
# OAUTH_GOOGLE_CLIENT_ID=
# OAUTH_GOOGLE_CLIENT_SECRET=
# OAUTH_MICROSOFT_CLIENT_ID=
# OAUTH_MICROSOFT_CLIENT_SECRET=
# OAUTH_KEYCLOAK_ISSUER=
# OAUTH_KEYCLOAK_CLIENT_ID=
# OAUTH_KEYCLOAK_CLIENT_SECRET=
# OAUTH_ORY_ISSUER=
# OAUTH_ORY_CLIENT_ID=
# OAUTH_ORY_CLIENT_SECRET=
# OAUTH_ZITADEL_ISSUER=
# OAUTH_ZITADEL_CLIENT_ID=
# OAUTH_ZITADEL_CLIENT_SECRET=