* feat: add Google OAuth login support (#2625)
* 🔧 Add login via google
* 🔧 Update code style and docs
* Add fix for db migrate
* 🔧 Update docker-compose
* 🔧 Fix sqlite"
* 🔧 Update docker-compose
* ⚰️ Remove environments
* 🔧 Fix: remove ensureGoogleIdColumn workaround from sqlite.ts
* 🔧 Remove space
* move oauth section
* add openid client
* wip make oauth more generic
* properly allow multiple providers
* fix type import
* github login flow
* adjust github logo with theme
* move docs to own page
* nullable password, prevent timing attack
this prevents timing attacks by always checking hash even if there is none
prevents using basic auth if 2fa is enabled
* support generic oidc
* add ability to set password for oidc users
this allows oidc users to add password login
cant be removed after
* move password login route
move password login route from /api/session to /api/auth/password
align with oauth
* unique index on oauth
* link/unlink logic
* improve docs
* support allowed domains
* support auto register
* refactoring
* disable pw auth
* move 2fa to its own page
* 2fa for oauth, rework 2fa system
* fix design, fix link
Closes#2650
* add auto launch
* improve docs
* improvements
---------
Co-authored-by: Daniel Molenda <[email protected]>
* Small code quality improvements
- Fix misleading JSDoc comment in cache.ts
- Mitigate timing-based username enumeration in Basic auth
- Extract duplicated TOTP configuration into private method
- Replace manual peer counter with clients.length in Prometheus metrics
- Simplify isValidPasswordHash return expression
* reset session.ts
this is currently worked on in the dev-oauth branch
* reset password.ts
no need to change
* specify unit for cache function
* remove type assertion
---------
Co-authored-by: Anghios <[email protected]>
Co-authored-by: Bernd Storath <[email protected]>
* Update Chinese (HK) translations for clarity and completion
* Fix spacing
* Update zh-HK.json
Taking reference from zh_TW, making awg clearer
* Remove duplicate 'search' entry in zh-HK.json
* Fix translation typos in zh-HK locale
Replaced "户" with "戶".
* fix(ui):Error pops up when enabling disabled client
Action is prevented and a clear message is displayed in Web UI
* fix formatting
* fix type issue
* fix formatting
---------
Co-authored-by: Bernd Storath <[email protected]>
* i18n(ru): Add firewall and download options
- Updated translation, added and translated all missing values from en.json
* i18n(ru): Minor changes
- Minor edits that don't change the translation
* i18n(ru): Terminology changes
- "Интерфейс" (Interface) has been renamed to "Сетевой интерфейс" (Network Interface) to avoid confusion with the Web UI, which is often referred to simply as "interface" in Russian.