Commit Graph
100 Commits
Author SHA1 Message Date
StavrosandGitHub b9e35716ac feat: invalid domain warning (#332)
* wip

* refactor: update domain warning layout

* i18n: add domain warning translations

* refactor: rework hooks usage

* feat: clear timeouts

* fix: use useeffect to cleanup timeout

* refactor: rework redirects and history storage

* refactor: rename domain to root domain
2025-09-01 18:22:42 +03:00
StavrosandGitHub c7c3de4f78 refactor: unify labels (#329)
* refactor: unify labels

* feat: implement path block and user block

Fixes #313

* fix: fix oauth group check logic

* chore: fix typo
2025-08-29 17:04:34 +03:00
StavrosandGitHub 03d06cb0a7 feat: add sqlite database for storing sessions (#326)
* feat: add sqlite database for storing sessions

* refactor: use db instance instead of service in auth service

* fix: coderabbit suggestions
2025-08-29 12:35:11 +03:00
StavrosandGitHub 504a3b87b4 refactor: rework file structure (#325)
* wip: add middlewares

* refactor: use context fom middleware in handlers

* refactor: use controller approach in handlers

* refactor: move oauth providers into services (non-working)

* feat: create oauth broker service

* refactor: use a boostrap service to bootstrap the app

* refactor: split utils into smaller files

* refactor: use more clear name for frontend assets

* feat: allow customizability of resources dir

* fix: fix typo in ui middleware

* fix: validate resource file paths in ui middleware

* refactor: move resource handling to a controller

* feat: add some logging

* fix: configure middlewares before groups

* fix: use correct api path in login mutation

* fix: coderabbit suggestions

* fix: further coderabbit suggestions
2025-08-26 15:05:03 +03:00
StavrosandGitHub ef25962a93 refactor: use whoami router name in development compose 2025-08-19 12:07:43 +03:00
Stavros 4dacb46a8e fix: fix typo in codecov config 2025-07-17 15:15:47 +03:00
Stavros 5f7f88421e refactor: move user logging to oauth callback handler 2025-07-17 15:07:05 +03:00
Stavros bc941cb248 refactor: make reconnect operation return connection 2025-07-17 15:06:06 +03:00
StavrosandGitHub 00d15de44f New Crowdin updates (#269)
* New translations en.json (Serbian (Cyrillic))

* New translations en.json (Serbian (Cyrillic))

* New translations en.json (Romanian)

* New translations en.json (French)

* New translations en.json (Spanish)

* New translations en.json (Afrikaans)

* New translations en.json (Arabic)

* New translations en.json (Catalan)

* New translations en.json (Czech)

* New translations en.json (Danish)

* New translations en.json (German)

* New translations en.json (Greek)

* New translations en.json (Finnish)

* New translations en.json (Hebrew)

* New translations en.json (Hungarian)

* New translations en.json (Italian)

* New translations en.json (Japanese)

* New translations en.json (Korean)

* New translations en.json (Dutch)

* New translations en.json (Norwegian)

* New translations en.json (Polish)

* New translations en.json (Portuguese)

* New translations en.json (Russian)

* New translations en.json (Serbian (Cyrillic))

* New translations en.json (Swedish)

* New translations en.json (Turkish)

* New translations en.json (Ukrainian)

* New translations en.json (Chinese Simplified)

* New translations en.json (Chinese Traditional)

* New translations en.json (English)

* New translations en.json (Vietnamese)

* New translations en.json (Portuguese, Brazilian)

* New translations en.json (Polish)

* New translations en.json (Greek)

* New translations en.json (Chinese Traditional)
2025-07-17 13:58:38 +03:00
Stavros 6867667de6 chore: format server package 2025-07-17 00:46:28 +03:00
Stavros 19eb8f3064 refactor: handle oauth groups response as an any array of any 2025-07-17 00:31:24 +03:00
Stavros 1a13936693 refactor: log parsed user in generic provider 2025-07-16 01:38:54 +03:00
Stavros af26d705cd fix: add auto complete information to auth forms 2025-07-16 01:29:13 +03:00
Stavros 4a87af4463 refactor: make ldap user not found errors be warnings 2025-07-15 13:18:37 +03:00
Stavros 88d918d608 fix: don't fail app if LDAP is not configured 2025-07-15 02:24:09 +03:00
Stavros 5854d973ea i18n: internationalize required error 2025-07-15 02:15:17 +03:00
Stavros f25ab72747 refactor: check cookie prior to basiv auth in context hook 2025-07-15 02:10:16 +03:00
Stavros 2233557990 tests: move handlers test to handlers package 2025-07-15 01:38:01 +03:00
Stavros d3bec635f8 fix: make tinyauth not "eat" the authorization header 2025-07-15 01:34:25 +03:00
Stavros 6519644fc1 fix: handle type string for oauth groups 2025-07-15 00:17:41 +03:00
Stavros 736f65b7b2 refactor: close connection before trying to reconnect 2025-07-14 20:10:15 +03:00
Stavros 63d39b5500 feat: try to reconnect to ldap server if heartbeat fails 2025-07-14 20:02:16 +03:00
StavrosandGitHub b735ab6f39 New Crowdin updates (#260)
* New translations en.json (Romanian)

* New translations en.json (French)

* New translations en.json (Spanish)

* New translations en.json (Afrikaans)

* New translations en.json (Arabic)

* New translations en.json (Catalan)

* New translations en.json (Czech)

* New translations en.json (Danish)

* New translations en.json (German)

* New translations en.json (Greek)

* New translations en.json (Finnish)

* New translations en.json (Hebrew)

* New translations en.json (Hungarian)

* New translations en.json (Italian)

* New translations en.json (Japanese)

* New translations en.json (Korean)

* New translations en.json (Dutch)

* New translations en.json (Norwegian)

* New translations en.json (Polish)

* New translations en.json (Portuguese)

* New translations en.json (Russian)

* New translations en.json (Serbian (Cyrillic))

* New translations en.json (Swedish)

* New translations en.json (Turkish)

* New translations en.json (Ukrainian)

* New translations en.json (Chinese Simplified)

* New translations en.json (Chinese Traditional)

* New translations en.json (English)

* New translations en.json (Vietnamese)

* New translations en.json (Portuguese, Brazilian)

* New translations en.json (Polish)

* New translations en.json (Greek)

* New translations en.json (French)

* New translations en.json (Polish)
2025-07-12 16:23:13 +03:00
Stavros 232c50eaef chore: stop codeconv from failing status checks 2025-07-12 16:13:51 +03:00
Stavros 52b12abeb2 refactor: make heartbeat log message only appear in debug logs 2025-07-12 13:31:53 +03:00
Stavros 48b4d78a7c refactor: split handlers into smaller purpose specific files 2025-07-12 13:23:25 +03:00
Stavros 8ebed0ac9a chore: remove meaningless comments 2025-07-12 13:17:06 +03:00
Stavros e742603c15 fix: add logging to user parse failure 2025-07-12 11:49:37 +03:00
Stavros 3215bb6baa refactor: simplify ldap heartbeat 2025-07-12 00:21:22 +03:00
Stavros a11aba72d8 feat: add heartbeat to keep ldap connection alive 2025-07-11 23:16:09 +03:00
Stavros 10d1b48505 chore: add dlv for debugging in dev workflow 2025-07-11 17:15:32 +03:00
Stavros f73eb9571f fix: fix password reset message translations 2025-07-11 16:16:49 +03:00
StavrosandGitHub fe440a6f2e New translations en.json (Arabic) (#245) 2025-07-10 01:00:34 +03:00
Stavros 0ace88a877 feat: add support for bypassing authentication for specific IPs 2025-07-10 00:53:22 +03:00
Stavros 476ed6964d fix: fix docker label matching logic 2025-07-10 00:34:04 +03:00
StavrosandGitHub b3dca0429f New translations en.json (French) (#243) 2025-07-09 23:36:55 +03:00
StavrosandGitHub 09635666aa New Crowdin updates (#240)
* New translations en.json (Arabic)

* New translations en.json (Arabic)

* New translations en.json (Danish)

* New translations en.json (Greek)

* New translations en.json (Polish)
2025-07-09 18:05:28 +03:00
Stavros 9f02710114 feat: add support for comma list in label domain check 2025-07-09 17:49:13 +03:00
Stavros 0f4a6b5924 tests: fix parse header tests 2025-07-08 00:54:36 +03:00
Stavros c662b9e222 tests: extend tests in utils and server 2025-07-08 00:47:07 +03:00
Stavros f48bb65d7b feat: add support for using secret files for basic auth password 2025-07-07 23:31:51 +03:00
StavrosandGitHub 7e604419ab New Crowdin updates (#192)
* New translations en.json (Spanish)

* New translations en.json (Spanish)

* New translations en.json (German)

* New translations en.json (Chinese Simplified)

* New translations en.json (Spanish)

* New translations en.json (German)

* New translations en.json (Chinese Simplified)

* New translations en.json (Romanian)

* New translations en.json (French)

* New translations en.json (Afrikaans)

* New translations en.json (Arabic)

* New translations en.json (Catalan)

* New translations en.json (Czech)

* New translations en.json (Danish)

* New translations en.json (Greek)

* New translations en.json (Finnish)

* New translations en.json (Hebrew)

* New translations en.json (Hungarian)

* New translations en.json (Italian)

* New translations en.json (Japanese)

* New translations en.json (Korean)

* New translations en.json (Dutch)

* New translations en.json (Norwegian)

* New translations en.json (Polish)

* New translations en.json (Portuguese)

* New translations en.json (Russian)

* New translations en.json (Serbian (Cyrillic))

* New translations en.json (Swedish)

* New translations en.json (Turkish)

* New translations en.json (Ukrainian)

* New translations en.json (Chinese Traditional)

* New translations en.json (English)

* New translations en.json (Vietnamese)

* New translations en.json (Portuguese, Brazilian)

* New translations en.json (Polish)

* New translations en.json (Russian)

* New translations en.json (German)
2025-07-06 01:14:09 +03:00
Stavros ec6e3aa718 chore: update readme 2025-07-06 01:09:09 +03:00
Stavros 6dc57ddf0f refactor: change basic auth label to username instead of user 2025-07-06 01:02:08 +03:00
Stavros f780e81ec2 fix: fix error state look in login form 2025-07-06 00:46:59 +03:00
StavrosandGitHub 6ec8c9766c feat: add ldap support (#232)
* feat: add ldap support

* feat: add insecure option for self-signed certificates

* fix: recognize ldap as a username provider

* test: fix tests

* feat: add configurable search filter

* fix: fix error message in ldap search result

* refactor: bot suggestions
2025-07-05 18:17:39 +03:00
StavrosandGitHub 1941de1125 refactor: remove init functions from methods (#228) 2025-07-04 02:35:09 +03:00
Stavros 49c4c7a455 feat: add codeconv to ci 2025-07-04 01:48:38 +03:00
StavrosandGitHub c10bff55de fix: encrypt the cookie in sessions (#225)
* fix: encrypt the cookie in sessions

* tests: use new auth config in tests

* fix: coderabbit suggestions
2025-07-04 01:43:36 +03:00
Stavros 7640e956c2 chore: run nightly workflow every day 2025-07-03 12:54:26 +03:00
StavrosandGitHub 84d4c84ed2 feat: allow or block an ip/range of ips using labels (#211)
* feat: allow or block an ip/range of ips using labels

* refactor: redirect to root page when no username or ip is provided in the unauthorized page
2025-06-25 20:35:48 +03:00
StavrosandGitHub f3ec4baf3c feat: add support for logging in to a basic auth protected app (#203) 2025-06-20 11:33:06 +03:00
StavrosandGitHub aed29d2923 feat: allow user to specify domain in container labels in order to identify it (#198)
* feat: allow user to specify domain in container labels in order to identify it

* refactor: remove port from domain before getting container
2025-06-15 20:30:52 +03:00
StavrosandGitHub 3397e2aa8e refactor: move to traefik paerser for label parsing (#197)
* refactor: move to traefik paerser for label parsing

* fix: sanitize headers before adding to map

* refactor: use splitn in header parser

* refactor: ignore containers that failed to get inspected in docker
2025-06-15 19:58:23 +03:00
StavrosandGitHub ee83c177f4 chore: update security note 2025-06-15 19:48:11 +03:00
StavrosandGitHub 9eb296f146 New Crowdin updates (#176)
* New translations en.json (Spanish)

* New translations en.json (German)

* New translations en.json (German)

* New translations en.json (Chinese Simplified)
2025-06-11 10:15:58 +03:00
Stavros 523267e55b fix: disable CGO in binary builds 2025-06-11 10:11:23 +03:00
Stavros e96a2bcaec chore: update discohook config 2025-06-06 15:27:42 +03:00
Stavros ad4275bee5 chore: fix typo in readme 2025-06-01 18:03:11 +03:00
Stavros 3665c3a283 chore: update readme 2025-06-01 17:58:27 +03:00
StavrosandGitHub 38fdb38b92 New Crowdin updates (#139)
* New translations en.json (Spanish)

* New translations en.json (Polish)

* New translations en.json (Polish)

* New translations en.json (Russian)

* New translations en.json (Russian)

* New translations en.json (Romanian)

* New translations en.json (French)

* New translations en.json (Spanish)

* New translations en.json (Afrikaans)

* New translations en.json (Arabic)

* New translations en.json (Catalan)

* New translations en.json (Czech)

* New translations en.json (Danish)

* New translations en.json (German)

* New translations en.json (Greek)

* New translations en.json (Finnish)

* New translations en.json (Hebrew)

* New translations en.json (Hungarian)

* New translations en.json (Italian)

* New translations en.json (Japanese)

* New translations en.json (Korean)

* New translations en.json (Dutch)

* New translations en.json (Norwegian)

* New translations en.json (Polish)

* New translations en.json (Portuguese)

* New translations en.json (Serbian (Cyrillic))

* New translations en.json (Swedish)

* New translations en.json (Turkish)

* New translations en.json (Ukrainian)

* New translations en.json (Chinese Simplified)

* New translations en.json (Chinese Traditional)

* New translations en.json (English)

* New translations en.json (Vietnamese)

* New translations en.json (Portuguese, Brazilian)

* New translations en.json (Polish)

* New translations en.json (Russian)

* New translations en.json (Russian)

* New translations en.json (Danish)

* New translations en.json (Greek)

* New translations en.json (Greek)
2025-06-01 17:23:50 +03:00
Stavros bc0a38a857 refactor: only use 302 redirects 2025-06-01 17:16:22 +03:00
Stavros f2c81b6a5c refactor: switch to declarative mode instead of data mode in react router 2025-05-30 18:24:34 +03:00
Stavros 34c8d16c7d fix: fix loading states in forms 2025-05-30 18:14:33 +03:00
Stavros f3acec7daf chore: move build arguments after the from in dockerfile 2025-05-28 17:26:04 +03:00
Stavros bbaa036d85 chore: use ref name as version in release workflow 2025-05-28 14:17:02 +03:00
StavrosGitHubcoderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
fc73e25d51 feat: allow generic provider to use untrusted SSL certificates (#164)
* feat: allow generic provider to use untrusted SSL certificates

* chore: fix typo

* chore: bot suggestion

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2025-05-27 16:42:20 +03:00
Stavros 11731f78d1 chore: update screenshot 2025-05-27 16:27:25 +03:00
StavrosandGitHub 3a7b71ae3e feat: generate a unique id for the cookie names based on the domain (#161)
* feat: generate a unique id for the cookie names based on the domain

* tests: fix tests
2025-05-25 12:38:21 +03:00
Stavros 3c3bd719db fix: show correct generic name in login screen 2025-05-24 16:19:56 +03:00
Stavros a6aa97bcfa chore: remove url requirement in background image 2025-05-24 16:02:40 +03:00
Stavros 1a7b6cfb99 chore: remove healthcheck from dockerfile 2025-05-22 22:36:29 +03:00
Stavros da7cebdfed chore: update readme 2025-05-21 20:04:45 +03:00
StavrosandGitHub 318f00993e Feat/new UI (#153)
* wip

* feat: make forms functional

* feat: finalize pages

* chore: remove unused translations

* feat: app context

* feat: user context

* feat: finalize username login

* fix: use correct tab order in login form

* feat: add oauth logic

* chore: update readme and assets

* chore: rename docs back to assets

* feat: favicons

* feat: custom background image config option

* chore: add acknowledgements for background image

* feat: sanitize redirect URL

* feat: sanitize redirect URL on check

* chore: fix dependabot config

* refactor: bot suggestions

* fix: correctly redirect to app and check for untrusted redirects

* fix: run oauth auto redirect only when there is a redirect URI

* refactor: change select color

* fix: fix dockerfiles

* fix: fix hook rendering

* chore: remove translations cdn

* chore: formatting

* feat: validate api response against zod schema

* fix: use axios error instead of generic error in login page
2025-05-20 17:17:12 +03:00
Stavros 39abb4fa02 fix: fix dependabot config 2025-05-20 16:40:23 +03:00
Stavros 91e3bbc9d9 refactor: store version in constants 2025-05-20 16:39:27 +03:00
Stavros 415eea6fab fix: use current context in release workflows 2025-05-15 17:08:56 +03:00
Stavros ad5aa30b9f fix: checkout in the create release step in the nightly workflow 2025-05-15 16:49:54 +03:00
Stavros dcd6c5667d fix: ensure create release has succeeded in nightly 2025-05-15 16:44:48 +03:00
Stavros ff48fa320e feat: nightly release workflow 2025-05-15 16:41:26 +03:00
StavrosandGitHub 5fe70b4bce chore: remove commit activity 2025-05-14 21:06:30 +03:00
Stavros 8b6194217e chore: group minor and patch dep updates 2025-05-06 18:41:32 +03:00
Stavros 5a601277ab refactor: remove www authenticate header 2025-05-06 17:01:46 +03:00
Stavros 58588d6663 fix: allow docker api negotiation 2025-05-03 16:37:37 +00:00
Stavros 2db7795eb7 fix: use email in oauth whitelist check 2025-05-02 15:16:57 +03:00
Stavros 00d1543f08 fix: include past sponsors in readme 2025-05-01 23:41:27 +03:00
StavrosandGitHub d1eeb8c7f7 New Crowdin updates (#116)
* New translations en.json (German)

* New translations en.json (Romanian)

* New translations en.json (French)

* New translations en.json (Spanish)

* New translations en.json (Afrikaans)

* New translations en.json (Arabic)

* New translations en.json (Catalan)

* New translations en.json (Czech)

* New translations en.json (Danish)

* New translations en.json (German)

* New translations en.json (Greek)

* New translations en.json (Finnish)

* New translations en.json (Hebrew)

* New translations en.json (Hungarian)

* New translations en.json (Italian)

* New translations en.json (Japanese)

* New translations en.json (Korean)

* New translations en.json (Dutch)

* New translations en.json (Norwegian)

* New translations en.json (Polish)

* New translations en.json (Portuguese)

* New translations en.json (Russian)

* New translations en.json (Serbian (Cyrillic))

* New translations en.json (Swedish)

* New translations en.json (Turkish)

* New translations en.json (Ukrainian)

* New translations en.json (Chinese Simplified)

* New translations en.json (Chinese Traditional)

* New translations en.json (English)

* New translations en.json (Vietnamese)

* New translations en.json (Portuguese, Brazilian)

* New translations en.json (Portuguese, Brazilian)

* New translations en.json (Polish)

* New translations en.json (German)

* New translations en.json (Romanian)

* New translations en.json (French)

* New translations en.json (Spanish)

* New translations en.json (Afrikaans)

* New translations en.json (Arabic)

* New translations en.json (Catalan)

* New translations en.json (Czech)

* New translations en.json (Danish)

* New translations en.json (German)

* New translations en.json (Greek)

* New translations en.json (Finnish)

* New translations en.json (Hebrew)

* New translations en.json (Hungarian)

* New translations en.json (Italian)

* New translations en.json (Japanese)

* New translations en.json (Korean)

* New translations en.json (Dutch)

* New translations en.json (Norwegian)

* New translations en.json (Polish)

* New translations en.json (Portuguese)

* New translations en.json (Russian)

* New translations en.json (Serbian (Cyrillic))

* New translations en.json (Swedish)

* New translations en.json (Turkish)

* New translations en.json (Ukrainian)

* New translations en.json (Chinese Simplified)

* New translations en.json (Chinese Traditional)

* New translations en.json (English)

* New translations en.json (Vietnamese)

* New translations en.json (Portuguese, Brazilian)

* New translations en.json (Greek)
2025-05-01 22:25:51 +03:00
Stavros a98a91a394 fix: only use groups in OAuth 2025-05-01 22:01:08 +03:00
Stavros 773942dc3b feat: add support for auto redirecting to oauth providers 2025-05-01 14:18:26 +03:00
Stavros 83483d6374 fix: disable basic auth on totp users 2025-05-01 13:05:48 +03:00
Stavros aab01b3195 chore: fix logo size in readme 2025-04-30 20:38:41 +03:00
Stavros 93a75324b8 chore: fix spacing in sponsors list 2025-04-30 20:34:53 +03:00
Stavros 483b1de701 chore: remove permissions from sponsors generator workflow 2025-04-30 20:29:08 +03:00
Stavros 40ceed6686 chore: update secret in sponsors generator 2025-04-30 20:27:16 +03:00
Stavros 3878c629c6 chore: add sponsors list workflow 2025-04-30 20:22:05 +03:00
Stavros 31e874a34f chore: update readme 2025-04-30 20:09:37 +03:00
StavrosandGitHub a9e8bf89a9 feat: map info from OIDC claims to headers (#122)
* refactor: return all values from body in the providers

* refactor: only accept claims following the OIDC spec

* feat: map info from OIDC claims to headers

* feat: add support for required oauth groups

* fix: bot suggestions

* feat: get claims from github and google

* fix: close body correctly
2025-04-30 19:57:49 +03:00
Stavros f824b84787 chore: update readme 2025-04-26 17:03:07 +03:00
Stavros 1c738b718a refactor: log actual errors when an error takes place 2025-04-25 17:03:12 +03:00
Stavros 4dc6bc0c98 refactor: change generic name to other 2025-04-25 14:01:09 +03:00