Stavros
226df14ad0
feat: add simple e2e tests
2026-07-16 17:07:59 +03:00
Stavros
3cf3cc9090
fix: don't fail app on label provider init failure
2026-07-16 14:34:12 +03:00
Stavros
589fe22138
tests: add tests for abstain in oauth whitelist
2026-07-16 14:30:48 +03:00
Stavros
84117ce109
chore: remove star history from readme
2026-07-15 17:10:38 +03:00
Stavros
9eabfe89fd
chore: update screenshot
2026-07-15 16:48:16 +03:00
Stavros and GitHub
dade1e2c8f
refactor: rework rate limit logic ( #1008 )
2026-07-15 15:30:57 +03:00
Stavros and GitHub
6e095fd4f2
refactor: rework the way trusted proxies ip work ( #1007 )
2026-07-15 15:17:55 +03:00
Stavros
2a0d7bd37a
chore: update sponsors section in readme
2026-07-15 01:59:19 +03:00
Stavros and GitHub
c22925c2fb
fix: use constant time in user checks ( #1004 )
2026-07-14 16:49:59 +03:00
Stavros and GitHub
d946926c36
feat: allow existing query params in oidc redirect uri ( #1003 )
2026-07-14 16:36:57 +03:00
Stavros and GitHub
e75605b2c5
refactor: move domain check into small helper util ( #1000 )
2026-07-14 14:20:15 +03:00
Stavros and GitHub
b62bb2d37a
refactor: generate mdx docs with tabs for each config option ( #996 )
2026-07-13 18:07:47 +03:00
Stavros
791adbb54d
fix: remove omitempty suffix from docs gen
2026-07-11 17:18:35 +03:00
Stavros
009ae30b47
Update Crowdin configuration file
...
[ci skip]
2026-07-11 13:05:07 +03:00
Stavros
11b534abc7
chore: add 1 day cooldown for dependabot updates
2026-07-11 00:25:17 +03:00
405d91065e
New Crowdin updates ( #986 )
...
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: CodeRabbit <noreply@coderabbit.ai >
2026-07-09 20:16:17 +03:00
Stavros
82993624ba
chore: remove dup i18n key
2026-07-09 18:40:37 +03:00
Stavros
0812bc3869
fix: truncate forgot password text if it's too big
2026-07-09 16:18:28 +03:00
Stavros and GitHub
0bd2821a9b
refactor: use tailscale api for user checking instead of tsnet ( #978 )
2026-07-09 01:56:09 +03:00
Stavros and GitHub
73cc4808bc
feat: improve binary size with build tags ( #976 )
2026-07-06 23:49:55 +03:00
Stavros
6ab9c0a0c5
feat: log warning when experimental features are enabled
2026-07-03 16:57:53 +03:00
Stavros and GitHub
4aa05aeb79
refactor: use some colors in CLI output ( #962 )
2026-07-03 16:40:22 +03:00
Stavros and GitHub
440a3a3ef5
chore: cleanup codegen ( #965 )
2026-07-02 23:35:34 +03:00
Stavros and GitHub
a3c4d6ac83
chore: move tailscale to experimental config ( #964 )
2026-07-02 23:17:03 +03:00
Stavros
c8b31c54a0
chore: remove prettier from frontend
2026-07-02 22:23:52 +03:00
Stavros
04b93fa107
fix: remove shutdown from serve error path
2026-07-02 15:07:04 +03:00
Stavros and GitHub
a6c716c4e2
fix: ensure data paths are set correctly in docker, fixes #958 ( #959 )
2026-07-01 16:12:46 +03:00
Stavros and GitHub
ffafb5bff5
feat: add a reconnect to the initial ldap connection ( #928 )
2026-06-30 15:57:41 +03:00
Stavros
bb867ea5f4
docs: update readme with openid certification badge
2026-06-29 01:35:06 +03:00
Stavros and GitHub
09ec40cb76
feat: show provider in quick actions ( #955 )
2026-06-28 17:58:11 +03:00
Stavros
08af4557fd
fix: use client ip instead of remote addr in tailscale whois lookups
2026-06-23 21:06:55 +03:00
Stavros
89ffdf7e22
chore: update example env
2026-06-23 13:39:31 +03:00
Stavros and GitHub
69f4206f65
refactor: remove concurrent listeners and rework cookie logic ( #950 )
2026-06-23 13:35:29 +03:00
Stavros
ea1baaa9ac
docs: add hosting partners section
2026-06-22 13:19:23 +03:00
Stavros and GitHub
efe373084f
feat: support for oidc max age ( #949 )
2026-06-20 00:21:22 +03:00
Stavros and GitHub
7f18b45e21
feat: support for the prompt parameter in the oidc flow ( #948 )
2026-06-20 00:04:41 +03:00
Stavros and GitHub
6ccc894570
tests: improve test coverage for controllers ( #946 )
2026-06-19 11:59:16 +03:00
Stavros and GitHub
53af1b99c0
tests: don't use _test suffix in service and controller tests ( #944 )
2026-06-17 17:03:30 +03:00
Stavros and GitHub
654b5cc436
fix: use better limits in lockdown to limit dos attack window ( #943 )
2026-06-17 13:10:58 +03:00
Stavros
f7d7f1c4f0
feat: add psl checks to the oauth controller is safe redirect check
2026-06-17 13:05:42 +03:00
Stavros
e7d26f497d
fix: use runtime trusted uris in oauth controller
2026-06-17 12:33:09 +03:00
Stavros
a9face749d
chore: remove leftover debug log line from tailscale service
2026-06-17 12:15:51 +03:00
Stavros
905f67292c
fix: use scoped caches for each image
2026-06-16 15:41:44 +03:00
Stavros
6ed5c2d0a0
fix: remove quotes from release action ldflags
2026-06-16 15:16:44 +03:00
Stavros and GitHub
c825d81b2d
feat: add support for webfinger ( #941 )
2026-06-16 15:05:11 +03:00
Stavros and GitHub
f404c2ef16
feat: use dig for di in services and controllers ( #936 )
2026-06-16 13:00:48 +03:00
a0e74cd5f2
refactor: move oidc handling to backend and add support for oidc post ( #923 )
...
Co-authored-by: Claude <noreply@anthropic.com >
2026-06-13 16:45:12 +03:00
Stavros
57c573502d
chore: bump go to 1.26.4
2026-06-09 11:44:03 +03:00
Stavros and GitHub
426eac2d0b
refactor: rework oidc session storage ( #913 )
2026-06-06 16:26:08 +03:00
Stavros and GitHub
dac844595d
refactor: use new cache store in services ( #912 )
2026-05-31 18:55:06 +03:00
Stavros
940ba6dff7
fix: don't allow tagged devices in tailscale integration
2026-05-31 12:42:00 +03:00
Stavros and GitHub
faee58ca8e
feat: use ding for ordered go routine shutdown order ( #896 )
2026-05-27 12:46:28 +03:00
Stavros
e9b8ca3cf8
fix: cleanup acl logic to match stable one
2026-05-27 12:11:17 +03:00
Stavros and GitHub
f2c4e7932d
chore: include debug symbols in nightly images ( #908 )
2026-05-27 11:43:43 +03:00
Stavros and GitHub
4538922caf
refactor: simplify error handling in oidc authorize handler ( #907 )
2026-05-27 11:27:10 +03:00
Stavros and GitHub
672db84200
feat: make config file a stable feature ( #897 )
2026-05-27 11:26:09 +03:00
Stavros and GitHub
0a3e7bf265
fix: use policy engine in oauth whitelist check ( #904 )
2026-05-26 00:07:46 +03:00
Stavros and GitHub
3f584ca741
New Crowdin updates ( #798 )
2026-05-24 19:16:29 +03:00
Stavros
2737a25227
fix: don't point to nil local users in bootstrap app
2026-05-23 20:24:54 +03:00
Stavros and GitHub
55bef72639
fix: ensure domain defined in acls is included in host rules ( #884 )
2026-05-23 17:13:41 +03:00
Stavros
ae17bd3b66
fix: do not log user context not found errors in proxy controller
2026-05-23 16:43:03 +03:00
Stavros and GitHub
c9e90547d4
chore: change project license to AGPL ( #876 )
2026-05-21 12:16:57 +03:00
Stavros
3194f4b987
chore: remove stale error from tailscale service
2026-05-20 23:04:38 +03:00
Stavros
9b50670925
fix: handle panics in tailscale service
2026-05-20 23:01:14 +03:00
Stavros and GitHub
1166a15aa7
feat: tailscale integration ( #847 )
2026-05-20 20:10:38 +03:00
Stavros and GitHub
c855f9b8ac
feat: add support for deny by default access controls ( #852 )
2026-05-19 18:07:55 +03:00
Stavros
8b4ba23328
chore: remove stale bot
2026-05-18 14:32:50 +03:00
Stavros
8932f2ad46
feat: ensure public key pairs with private key in oidc service
2026-05-16 20:43:50 +03:00
Stavros
482ba9d99f
fix: use yml instead of yaml files for issue templates
2026-05-16 20:27:48 +03:00
Stavros
1bcd1bb59a
fix: fix feature request template and allow blank issues
2026-05-16 20:24:11 +03:00
Stavros
5349f21212
fix: use loaded public key in oidc service, fixes #860
2026-05-16 17:09:21 +03:00
Stavros
ca06099466
tests: fix tests for proxy controller
2026-05-15 18:43:18 +03:00
Stavros
d4b4245017
chore: revert 4c741a5 and use 403 for acl errors
2026-05-15 18:39:12 +03:00
Stavros
4c741a5990
fix: use 401 errors instead of 403 for nginx responses
2026-05-15 18:12:15 +03:00
Stavros and GitHub
def539a40f
refactor: replace bun with pnpm ( #870 )
2026-05-15 14:43:51 +03:00
Stavros
086e3af4e2
chore: add deepsec to gitignore
2026-05-13 19:11:39 +03:00
Stavros and GitHub
4f7335ed73
refactor: rework app logging, dependency injection and cancellation ( #844 )
...
* feat: add new logger
* refactor: use one struct for context handling and cancellation
* refactor: rework logging and config in controllers
* refactor: rework logging and config in middlewares
* refactor: rework logging and cancellation in services
* refactor: rework cli logging
* fix: improve logging in routines
* feat: use sync groups for better cancellation
* refactor: simplify middleware, controller and service init
* tests: fix controller tests
* tests: use require instead of assert where previous step is required
* tests: fix middleware tests
* tests: fix service tests
* tests: fix context tests
* fix: fix typos
* feat: add option to enable or disable concurrent listeners
* fix: assign public key correctly in oidc server
* tests: fix don't try to test logger with char size
* fix: coderabbit comments
* tests: use filepath join instead of path join
* fix: ensure unix socket shutdown doesn't run twice
* chore: remove temp lint file
2026-05-10 16:10:36 +03:00
Stavros and GitHub
1382ab41e7
refactor: rework user context handling throughout tinyauth ( #829 )
...
* wip
* fix: fix util imports
* fix: fix bootstrap import issues
* fix: fix cli imports
* fix: context controller
* fix: use new context in user controller
* fix: fix imports and context in proxy controller
* fix: fix oauth and oidc controller imports and context
* feat: finalize context functionality
* refactor: simplify acls checking logic by passing the entire acl struct
* chore: rename get basic auth to encode basic auth for clarity
* fix: fix controller tests
* tests: fix service tests
* tests: fix utils tests
* tests: move to testify for testing in utils
* fix: fix config reference generator
* tests: add tests for context parsing
* tests: add tests for context middleware
* tests: remove error wrapper from context tests
* tests: fix log wrapper tests
* fix: fix verion setting in cd and dockerfiles
* fix: review comments batch 1
* fix: review comments batch 2
* fix: review comments batch 3
* fix: delete totp pending session cookie on totp success
* tests: fix user controller tests
* fix: don't audit login too early
* fix: own comments
2026-05-07 15:41:07 +03:00
Stavros
5e822d99e1
chore: fix typos in oidc service
2026-04-29 16:08:21 +03:00
Stavros
373ee8806e
chore: prefer errors.is instead of comparison
2026-04-29 16:04:27 +03:00
Stavros
a14d64c8ba
chore: remove exp slices package and use stdlib
2026-04-29 15:56:35 +03:00
Stavros and GitHub
d51e3efe32
fix: use pinned step versions and set workflow permissions ( #825 )
...
* fix: use pinned step versions and set workflow permissions
* fix: use contents write in sponsors list action
2026-04-28 15:52:02 +03:00
Stavros
d73cc628fb
chore: add openssf baseline badge to readme
2026-04-28 15:46:40 +03:00
Stavros
a8737ab0bd
fix: use frozen lockfile in makefile bun install
2026-04-28 15:31:07 +03:00
Stavros
11793c9869
fix: use frozen lockfile in all bun installs
2026-04-28 15:30:21 +03:00
Stavros and GitHub
c68a022ed0
docs: add ai policy ( #821 )
...
* docs: add ai policy
* docs: rework ai policy for more clear rules and expectations
* chore: review comments
* chore: rabbit feedback
* chore: update contributing guide to reference ai policy
2026-04-27 20:44:44 +03:00
Stavros and GitHub
c364b8682c
feat: preserve login params in forgot password screen ( #819 )
2026-04-26 18:03:25 +03:00
Stavros
3906e50925
chore: add openssf scorecard to readme
2026-04-21 22:20:00 +03:00
Stavros and GitHub
ff81f91366
feat: add scorecard workflow
2026-04-21 22:10:05 +03:00
Stavros
479f165781
fix: fail app on empty app url before parsing
2026-04-16 12:44:24 +03:00
Stavros and GitHub
36c7872a94
New Crowdin updates ( #797 )
...
* New translations en.json (Romanian)
* New translations en.json (Spanish)
* New translations en.json (Afrikaans)
* 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 (Vietnamese)
* New translations en.json (Portuguese, Brazilian)
* New translations en.json (Korean)
* 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 (Finnish)
* New translations en.json (Hebrew)
* New translations en.json (Italian)
* New translations en.json (Japanese)
* New translations en.json (Dutch)
* New translations en.json (Chinese Traditional)
2026-04-15 23:24:47 +03:00
Stavros
f257d00648
fix: use fmt println to show warning regardless of log level
2026-04-14 13:43:24 +03:00
Stavros
9f77816a1d
feat: add organization migration note
2026-04-14 13:26:55 +03:00
Stavros
93d6191139
fix: lighthouse fixes
2026-04-14 13:16:15 +03:00
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