Stavros and GitHub
6f99e7acff
fix: revoke access token on duplicate auth code user ( #786 )
...
* fix: revoke access token on duplicate auth code user
* fix: review comments
* tests: fix tests
2026-04-14 12:45:27 +03:00
1117f35496
refactor: use plain input for totp input to fix autofill issues ( #790 )
...
* fix(ui): allow pw manager extensions to autofill totp
* chore: small ui fixes
* fix: prevent double totp submissions
---------
Co-authored-by: Scott McKendry <me@scottmckendry.tech >
2026-04-12 19:12:21 +03:00
Stavros and GitHub
cc94294ece
feat: add x-tinyauth-location to nginx response ( #783 )
...
* feat: add x-tinyauth-location to nginx response
Solves #773 . Normally you let Nginx handle the login URL creation but with this "hack"
we can set an arbitary header with where Tinyauth wants the user to go to. Later the
Nginx error page can get this header and redirect accordingly.
* tests: fix assert.Equal order
2026-04-11 18:04:56 +03:00
Stavros and GitHub
b44dc75f54
fix: return 307 redirects for envoy proxy instead of 401 ( #782 )
...
* fix: return 307 redirects for envoy proxy instead of 401
* tests: extend testing for non browser detection in all proxies
2026-04-10 18:11:10 +03:00
Stavros
d4dbdc09d0
chore: add org notice to readme
2026-04-10 18:03:06 +03:00
Stavros and GitHub
061d28f5e3
refactor: use tinyauthapp/paerser instead of traefik/paerser ( #781 )
...
* refactor: use own paerser library instead of traefik
* chore: remove submodules from release images and workflows
2026-04-10 17:36:13 +03:00
Stavros and GitHub
8b91ce09bd
refactor: use zod for oidc params ( #771 )
...
* refactor: use zod for oidc params
* fix: review comments
* fix: use min instead of nonempty
2026-04-10 16:05:22 +03:00
Stavros and GitHub
2c1b62f464
feat: preserve oidc params in oauth flow ( #772 )
2026-04-10 15:58:31 +03:00
Stavros and GitHub
165197e472
feat: add pkce support to oidc server ( #766 )
...
* feat: add pkce support to oidc server
* tests: add test cases for pkce
* fix: review comments
* chore: remove debug line
* chore: remove simple logger from testing
* tests: add test for invalid challenge method
* chore: fix typo
2026-04-07 19:04:20 +03:00
Stavros
3373dcc412
test: extend traefik browser tests
2026-04-02 18:46:38 +03:00
Stavros
9d666dc108
fix: skip browser detection for nginx and envoy
2026-04-02 18:24:38 +03:00
Stavros
892097dc4d
fix: account for proxy type in browser response
2026-04-02 15:35:55 +03:00
Stavros
8a9ffcf185
chore: add github action updates in dependabot
2026-04-01 19:03:05 +03:00
Stavros and GitHub
fc1d4f2082
refactor: use better ignore paths in context middleware ( #743 )
2026-04-01 17:07:14 +03:00
Stavros
08e6b84615
fix: use int for status in healthcheck cmd
2026-04-01 16:12:11 +03:00
Stavros and GitHub
cec0a7327a
New translations en.json (Ukrainian) ( #740 )
2026-04-01 15:43:23 +03:00
Stavros
da247f8552
fix: handle oauth provider id mismatch correctly
2026-03-30 23:02:20 +03:00
Stavros
7139ad1cc6
fix: use correct go image in docker build
2026-03-30 19:21:50 +03:00
Stavros and GitHub
5811218dbf
refactor: tests ( #731 )
...
* tests: rework tests for context controller
* tests: add tests for health controller
* tests: add tests for oidc controller
* tests: use testify assert in context and health controller
* tests: add tests for user controller
* tests: add tests for resources controller
* tests: add well known controller tests
* test: add proxy controller tests
* chore: review comments
* chore: more review comments
* chore: cancel lockdown in testing
* tests: fix get cookie domain tests
* chore: add comment for testing passwords
2026-03-30 15:31:34 +03:00
Stavros
f65df872f0
refactor: allow root domain app urls for testing
2026-03-29 20:27:09 +03:00
Stavros and GitHub
d3cda06a75
feat: add lockdown mode on multiple login attempts ( #727 )
...
* feat: add lockdown mode on multiple login attempts
* fix: review comments
* fix: fix typo
2026-03-28 20:35:49 +02:00
Stavros and GitHub
f26c217161
refactor: oauth flow ( #726 )
...
* wip
* feat: add oauth session impl in auth service
* feat: move oauth logic into auth service and handle multiple sessions
* tests: fix tests
* fix: review comments
* fix: prevent ddos attacks in oauth rate limit
2026-03-22 21:03:32 +02:00
Stavros and GitHub
dc3fa58d21
refactor: refactor proxy controller to handle proxy auth modules better ( #714 )
...
* wip
* fix: add extauthz to friendly error messages
* refactor: better module handling per proxy
* fix: get envoy host from the gin request
* tests: rework tests for proxy controller
* fix: review comments
2026-03-14 19:56:15 +02:00
Stavros
b3de69e5d6
chore: add comment explaining uri header
2026-03-12 16:36:13 +02:00
Stavros
016a954963
fix: make a x forwarded uri an non required header
2026-03-12 16:26:42 +02:00
Stavros and GitHub
9eb2d33064
New translations en.json (French) ( #702 )
2026-03-11 16:49:20 +02:00
Stavros
b2a1bfb1f5
fix: validate client id on oidc token endpoint
2026-03-11 16:48:04 +02:00
Stavros
f1e869a920
fix: ensure user context has is logged in set to true
2026-03-11 15:57:50 +02:00
Stavros
cc5a6d73cf
tests: ensure all forwarded headers are set on tests
2026-03-11 15:53:39 +02:00
Stavros
b2e3a85f42
chore: update version in example compose
2026-03-11 15:47:22 +02:00
Stavros
2e03eb9612
fix: do not continue auth on empty x-forwarded headers
2026-03-11 15:46:09 +02:00
Stavros
55c33f7a8e
chore: update readme
2026-03-10 17:57:49 +02:00
Stavros
b6eb902d47
fix: fix typo in public key loading
2026-03-08 15:54:50 +02:00
Stavros
e3bd834b85
fix: support pkix public keys in oidc
2026-03-08 11:39:16 +02:00
Stavros
d7d540000f
fix: state should not be a required field in oidc
2026-03-08 11:17:44 +02:00
Stavros
766270f5d6
fix: add kid header to id token
2026-03-08 11:07:15 +02:00
Stavros and GitHub
1d76cb84b9
New Crowdin updates ( #684 )
...
* New translations en.json (Korean)
* New translations en.json (Dutch)
* New translations en.json (Chinese Simplified)
2026-03-04 19:41:21 +02:00
Stavros
69c6c0ba1d
fix: add cache control header to token response
2026-03-04 19:38:52 +02:00
Stavros
a71f61df8d
feat: add email verified claim
2026-03-04 15:52:31 +02:00
Stavros and GitHub
6bf444010b
feat: add nonce claim support to oidc server ( #686 )
...
* feat: add nonce claim support to oidc server
* fix: review feedback
2026-03-04 15:34:11 +02:00
Stavros
0e6bcf9713
fix: lookup config file options correctly in file loader
2026-03-03 22:48:44 +02:00
Stavros
af5a8bc452
fix: handle empty client name in authorize page
2026-03-03 22:48:44 +02:00
Stavros
de980815ce
fix: include kid in jwks response
2026-03-03 22:48:44 +02:00
Stavros and GitHub
189ad7115a
New translations en.json (Serbian (Cyrillic)) ( #683 )
2026-03-02 20:17:41 +02:00
Stavros
2f2556d480
fix: set correct paths in dockerfiles
2026-03-02 20:15:51 +02:00
Stavros
f1512f45b7
chore: update example env
2026-03-02 19:53:17 +02:00
Stavros and GitHub
cd410b6cdf
refactor: categorize leftover config options ( #682 )
...
* refactor: categorize leftover config options
* chore: update config description
2026-03-02 19:49:59 +02:00
Stavros and GitHub
24c5b35bdf
feat: add user info claims to id token ( #681 )
...
* feat: add user info claims to id token
* fix: omit empty user info values
2026-03-02 16:08:17 +02:00
Stavros and GitHub
414fab11fb
New Crowdin updates ( #678 )
...
* New translations en.json (Polish)
* New translations en.json (Dutch)
2026-03-02 16:03:43 +02:00
Stavros
c48181a8d8
refactor: use lowercase translated placeholders in login form
2026-03-02 15:58:52 +02:00
Stavros
06a26e976b
fix: fix authorize app initial box not being a box
2026-03-02 15:50:08 +02:00
Stavros and GitHub
27d14d6b21
New Crowdin updates ( #676 )
...
* 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 (Vietnamese)
* New translations en.json (Portuguese, Brazilian)
2026-03-01 13:56:21 +02:00
Stavros
0354c9a122
chore: update screenshot
2026-03-01 13:52:27 +02:00
Stavros
4bed73d0fb
refactor: pass all search params to correct domain in domain warning
2026-03-01 13:42:52 +02:00
Stavros and GitHub
d0e39c6149
refactor: card title and layout tweaks ( #675 )
...
* refactor: card title and layout tweaks
* chore: review comments
* refactor: update domain warning screen
2026-03-01 13:36:43 +02:00
Stavros and GitHub
89da4028bb
New Crowdin updates ( #674 )
...
* New translations en.json (French)
* New translations en.json (Ukrainian)
2026-02-28 15:02:16 +02:00
Stavros
cd168cd435
docs: update contributing guide
2026-02-28 14:53:55 +02:00
Stavros
dea8d72f01
feat: add configuration guide in create oidc client command
2026-02-27 20:04:02 +02:00
Stavros
43e0f3e713
chore: add correct oidc service documetation url
2026-02-26 17:37:47 +02:00
14c08172d8
New Crowdin updates ( #669 )
...
* New translations en.json (Serbian (Cyrillic))
* chore: apply 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>
2026-02-26 17:30:41 +02:00
Stavros and GitHub
4a1889c20b
feat: oidc client create command ( #672 )
...
* feat: add oidc client create command
* refactor: use own utility for creating random strings (more flexible
than stdlib)
* feat: validate client name to avoid config errors
* refactor: limit to only alphanumeric characters and hyphens
* refactor: remove the need of the logger in the create oidc client cmd
2026-02-26 17:28:58 +02:00
Stavros and GitHub
d0560fa6b6
New translations en.json (Italian) ( #668 )
2026-02-25 19:13:02 +02:00
Stavros
699d8d173f
fix: auto gen warning on example env and use correct cli flag in md gen
2026-02-24 16:11:25 +02:00
Stavros and GitHub
36b1594fb8
New Crowdin updates ( #660 )
...
* New translations en.json (Chinese Simplified)
* New translations en.json (Chinese Simplified)
* New translations en.json (Chinese Traditional)
* chore: bot comments
2026-02-23 19:52:54 +02:00
Stavros
bb96472cc4
refactor: use rollup manual chunking instead of custom function
2026-02-23 19:28:44 +02:00
Stavros and GitHub
e4c4e34d5c
feat: add markdown generation to config generator ( #652 )
2026-02-17 15:46:38 +02:00
Stavros and GitHub
3f3072254e
feat: optimize vite chunks ( #651 )
2026-02-17 14:46:03 +02:00
Stavros and GitHub
6112f977ea
feat: auto generate example env file ( #647 )
...
* feat: auto generate example env file
* refactor: simplify build paths func and better slice handling
* chore: forgot to stage everything
* chore: review comments
* refactor: remove square brackets because they mess up the syntax
highlighting
* refactor: use lowercase name to mark dynamic values
2026-02-16 23:39:05 +02:00
Stavros
e078e8a3f0
refactor: move disable ui warnings to ui cfg and trusted proxies to auth
...
cfg
2026-02-16 19:18:40 +02:00
Stavros
ce8493239e
fix: don't escape backend values in the frontend (translations)
2026-02-11 19:25:33 +02:00
Stavros
71fe73cca0
chore: fix typo in makefile develop recipe
2026-02-11 19:13:09 +02:00
Stavros
0fe89ae4e4
chore: use sslip in development compose
2026-02-11 19:08:43 +02:00
Stavros
22c4c262ea
feat: add support for client secret post auth to oidc token endpoint
2026-02-07 21:04:58 +02:00
Stavros
baf4798665
fix: fix typo in oidc trusted redirect uris config
2026-02-07 12:59:25 +02:00
Stavros
bea680edec
fix: healthcheck should not use public app url
2026-02-07 12:57:10 +02:00
Stavros and GitHub
3eea68ae0c
New Crowdin updates ( #631 )
...
* New translations en.json (Italian)
* New translations en.json (Italian)
* New translations en.json (Hungarian)
* New translations en.json (German)
* New translations en.json (Czech)
* New translations en.json (Ukrainian)
* New translations en.json (Ukrainian)
* New translations en.json (German)
* New translations en.json (Portuguese)
* New translations en.json (Turkish)
* New translations en.json (Dutch)
* New translations en.json (Dutch)
* New translations en.json (Dutch)
* New translations en.json (Ukrainian)
* New translations en.json (French)
* New translations en.json (Spanish)
* New translations en.json (Arabic)
* 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 (Dutch)
* 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 (Chinese Simplified)
* New translations en.json (Chinese Traditional)
* New translations en.json (Vietnamese)
* New translations en.json (Portuguese, Brazilian)
* New translations en.json (Romanian)
* New translations en.json (Afrikaans)
* New translations en.json (Catalan)
* 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 (Norwegian)
* New translations en.json (English)
* New translations en.json (French)
* New translations en.json (French)
* New translations en.json (Polish)
* New translations en.json (Dutch)
* New translations en.json (Ukrainian)
* New translations en.json (French)
* New translations en.json (Spanish)
* New translations en.json (Arabic)
* 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 (Dutch)
* 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 (Chinese Simplified)
* New translations en.json (Chinese Traditional)
* New translations en.json (Vietnamese)
* New translations en.json (Portuguese, Brazilian)
* New translations en.json (Romanian)
* New translations en.json (Afrikaans)
* New translations en.json (Catalan)
* 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 (Norwegian)
2026-02-07 12:35:08 +02:00
Stavros and GitHub
f08d8593ea
refactor: rework frontend use effect calls ( #630 )
...
* refactor: rework frontend use effect calls
* fix: rabbit comments
* fix: handle empty oauth url in login page
2026-02-07 12:01:19 +02:00
Stavros
ce25f9561f
fix: ensure service configured check is set to true when service is
...
configured
2026-02-02 16:32:08 +02:00
Stavros
f24595b24e
fix: add more config loaders in the healthcheck command
2026-02-02 16:25:49 +02:00
Stavros
285edba88c
refactor: better is configured check for ldap and oidc service
2026-02-02 16:25:49 +02:00
Stavros
51d95fa455
fix: do not append domains to users that have an email as the username
2026-02-02 16:25:49 +02:00
Stavros
fd16f91011
fix: ensure oidc service is configured before performing any actions
2026-02-02 16:25:49 +02:00
Stavros
fb671139cd
feat: auto generate redirect url if empty
2026-02-02 16:25:49 +02:00
Stavros
eff5fc8b71
refactor: use is configured check in ldap service
2026-02-01 19:05:42 +02:00
Stavros and GitHub
671343f677
feat: oidc ( #605 )
...
* chore: add oidc base config
* wip: authorize page
* feat: implement basic oidc functionality
* refactor: implement oidc following tinyauth patterns
* feat: adapt frontend to oidc flow
* fix: review comments
* fix: oidc review comments
* feat: refresh token grant type support
* feat: cleanup expired oidc sessions
* feat: frontend i18n
* fix: fix typo in error screen
* tests: add basic testing
* fix: more review comments
* refactor: rework oidc error messages
* feat: openid discovery endpoint
* feat: jwk endpoint
* i18n: fix typo
* fix: more rabbit nitpicks
* fix: final review comments
* i18n: authorize page error messages
2026-02-01 19:00:59 +02:00
Stavros
252ba10f48
feat: auto submit totp code when it is filled
2026-01-30 20:26:47 +02:00
Stavros
6431afb7d1
refactor: handle subcommands properly
2026-01-29 15:54:29 +02:00
Stavros
402dfa727b
chore: update traefik and add use infisical as an options for secrets in
...
dev
2026-01-21 12:50:03 +02:00
Stavros
d67c3ab8a4
fix: ensure safe redirect check only accepts actual domains
2026-01-17 20:36:42 +02:00
Stavros
87e2b52a04
fix: set gin mode correctly
2026-01-17 20:26:48 +02:00
Stavros and GitHub
4926e53409
feat: ldap group acls ( #590 )
...
* wip
* refactor: remove useless session struct abstraction
* feat: retrieve and store groups from ldap provider
* chore: fix merge issue
* refactor: rework ldap group fetching logic
* feat: store ldap group results in cache
* fix: review nitpicks
* fix: review feedback
2026-01-17 20:03:29 +02:00
Stavros and GitHub
e3f92ce4fc
refactor: simplify user parsing ( #571 )
2026-01-08 16:03:37 +02:00
Stavros
454612226b
chore: move sql files to sql directory
2026-01-08 15:35:58 +02:00
Stavros and GitHub
1ffb838c0f
feat: add support for global ip filters ( #567 )
2026-01-08 15:26:53 +02:00
Stavros
1dc83c835c
feat: add makefile to simplify development
2026-01-07 16:30:33 +02:00
Stavros
721f302c0b
chore: fix typo in example env
2026-01-07 13:25:39 +02:00
Stavros and GitHub
f1e2b55cd1
fix: add rate limiting in the forward auth endpoint ( #555 )
2025-12-31 21:04:08 +02:00
Stavros and GitHub
7e17a4ad86
refactor: replace gorm with vanilla sql and sqlc ( #541 )
...
* refactor: replace gorm with vanilla sql and sqlc
* chore: go mod tidy
* refactor: rebase for main
* tests: fix tests
* fix: review comments
2025-12-31 17:59:21 +02:00
Stavros and GitHub
9a3fecd565
feat: non-docker acls ( #549 )
...
* wip
* feat: add paerser as submodule and apply patch for nested maps
* refactor: update release workflows to include submodule and patches
* chore: update contributing instructions
2025-12-30 18:26:57 +02:00
Stavros
986ac88e14
Merge branch 'main' of https://github.com/steveiliop56/tinyauth
2025-12-29 19:46:38 +02:00