lukaszraczylo
eab8e04573
fixup! fixup! fixup! fixup! fixup! Further pursue of perfection.
2025-09-06 00:24:46 +01:00
lukaszraczylo
2c902eaafb
fixup! fixup! Further pursue of perfection.
2025-09-05 00:22:13 +01:00
lukaszraczylo
f291dcca26
fixup! Further pursue of perfection.
2025-09-04 22:43:39 +01:00
lukaszraczylo
e2e2be53c1
Memory leak fixes and optimisations.
2025-08-28 09:59:47 +01:00
lukaszraczylo
a4b2bfd70f
fixup! fixup! fixup! fixup! fixup! Cleanup tests.
2025-07-24 10:29:08 +01:00
lukaszraczylo
de91edb514
Bugfix #51 : Ensures that user provided scopes overrides work.
2025-06-20 23:58:42 +01:00
lukaszraczylo
667b4213fe
Well.. that escalated quickly.
...
Completely forgot that Traefik uses outdated Yaegi and requires compatibility with 1.20 ( pre-generic Go code ).
2025-06-20 19:23:50 +01:00
lukaszraczylo
d8d1b74175
Fieldalignment
2025-06-20 08:07:03 +01:00
lukaszraczylo
c233aa92ef
Modernize run
2025-06-20 08:02:26 +01:00
lukaszraczylo
c400251625
Refactoring code to fix the issues identified by the users.
2025-06-19 10:10:54 +01:00
lukaszraczylo
48faf7fadf
Additional fixes and cleanup
2025-06-18 01:09:14 +01:00
lukaszraczylo
99881f5837
Multiple fixes
...
- Unbounded Replay Cache: Now bounded to 10,000 entries with automatic cleanup
- Session Pool Leaks: Proper object lifecycle prevents accumulation
- HTTP Client Leaks: Reusable clients eliminate connection overhead
- Goroutine Leaks: Tracked lifecycle with graceful shutdown
2025-05-23 10:55:57 +01:00
lukaszraczylo
da70e69ad1
Memleak fixes.
2025-05-09 19:05:24 +01:00
lukaszraczylo
1910cd6000
Update documentation to the higher standards.
2025-04-05 11:31:45 +01:00
lukaszraczylo and GitHub
23e019092a
Multiple improvements for April 2025
...
* Improve refresh token handling in the background.
Resolves issue when user opens the website, allows the access token to expire, but continues browsing.
The background requests are failing with CORS errors to OIDC provider.
* fixup! Improve refresh token handling in the background.
* Abstract the token blacklisting.
2025-04-04 18:42:41 +01:00
lukaszraczylo and GitHub
4322407129
Add support for PKCE ( #31 )
...
* Add PKCE support.
* Add option to toggle PKCE checks feature.
* GoFMT
2025-03-18 01:09:14 +00:00
lukaszraczylo
9402f1bca5
Token blacklist, cache and metadata improvements
...
TokenBlacklist Improvements:
Fixed size limit enforcement to properly maintain max size of 1000 tokens
Improved eviction strategy to remove expired tokens first before removing oldest
Added proper cleanup of tokens during Add operation to prevent size overflow
Fixed oldest token eviction logic to ensure correct token removal
Added proper locking mechanisms to prevent race conditions
Cache Improvements:
Fixed cleanup mechanism to only remove truly expired items
Improved eviction strategy in LRU cache to prioritize expired items
Added smarter eviction in evictOldest to scan for expired items first
Fixed aggressive cleanup that was removing valid items
Maintained proper LRU ordering while handling evictions
MetadataCache:
Verified proper implementation of metadata caching with hourly refresh
Confirmed proper handling of cache extension on fetch failures
Validated thread-safe operations with proper RWMutex usage
2025-02-09 23:53:05 +00:00
lukaszraczylo
241cb1c209
Deal with the memory growth issue.
...
* TokenBlacklist limit is set to 1000
* Increased token cleanup frequency
2025-02-06 23:34:05 +00:00
lukaszraczylo
09daa1025c
Follow multiple redirects during the OIDC flow.
2025-02-06 23:31:13 +00:00
lukaszraczylo and GitHub
751933ffa0
Multiple improvements.
...
* Add todo list.
* fixup! Add todo list.
* fixup! fixup! Add todo list.
* fixup! fixup! fixup! Add todo list.
* Improve the session handling and cache.
* Fix an issue where expired session can cause infinite redirect loop
* fixup! Fix an issue where expired session can cause infinite redirect loop
* Add semver setup for automatic releases.
* fixup! Add semver setup for automatic releases.
* fixup! fixup! Add semver setup for automatic releases.
* fixup! fixup! fixup! Add semver setup for automatic releases.
2025-02-01 12:16:50 +00:00
lukaszraczylo
025107fe3e
Well, release it finally.
2025-01-21 19:31:51 +00:00
lukaszraczylo
0dcb44c187
Quite important fix
...
When user session expires, reauthentication fails as CSRF token disappears.
This commit fixes the issue by initiating new authentication flow.
2025-01-20 23:48:31 +00:00
lukaszraczylo
a8d65688c4
Improve documentation.
2025-01-06 10:44:49 +00:00
lukaszraczylo
2b7af88ff9
Move session management into session manager. Split the cookies to avoid the 4k limit ( resolves issue: #15 )
2024-12-10 10:19:35 +00:00
lukaszraczylo
01ee7c4dc8
Improve cookie setting.
2024-12-10 10:19:35 +00:00
lukaszraczylo
a6fa4d8789
Downgrade gorilla sessions preventing the publishing by traefik hub temporarily.
2024-12-10 10:19:34 +00:00
lukaszraczylo
8ca669105b
Fix OIDC logout issue, improve test coverage, load provider once.
2024-11-06 11:33:29 +00:00
lukaszraczylo
218165d365
Cleanup and optimise the code.
2024-11-06 11:33:03 +00:00
lukaszraczylo
345c0c4a11
Abstract filling up maps.
2024-11-06 11:32:37 +00:00
lukaszraczylo
da4f97de04
Fix the bug with user not being redirected to originally requested URL post authentication.
2024-11-06 11:32:36 +00:00
lukaszraczylo
2bb1debeb3
First step in improvement of caching mechanism.
2024-11-06 11:32:36 +00:00
lukaszraczylo
7a53da6080
Update tests and additional fixups.
2024-11-06 11:32:35 +00:00
lukaszraczylo
d6fd3467c3
Support additional verification of the token to ensure OIDC compliance
2024-11-06 11:32:35 +00:00
lukaszraczylo
a7d42de0a4
Invalidate user session with provider on logout
2024-10-03 14:00:43 +01:00
lukaszraczylo
e97d8e15ff
Another attempt to fix the issue with expired session.
2024-10-03 14:00:43 +01:00
lukaszraczylo
38433dfff8
Improve handling of expired sessions
2024-10-03 14:00:43 +01:00
lukaszraczylo
b1c0fc5583
Resolve invalid state parameter issue.
2024-10-03 14:00:42 +01:00
lukaszraczylo
448392e9bd
Update: Don't refresh token / issue cookie on every request.
2024-10-03 14:00:41 +01:00
lukaszraczylo
a4a943ae9c
Fix the issue when expired token did not forced reauthentication.
2024-10-03 14:00:41 +01:00
lukaszraczylo
13572003a5
Even more tests, crossed 50% coverage
2024-10-03 14:00:39 +01:00
lukaszraczylo
8767756431
Add tests
2024-10-03 14:00:39 +01:00
lukaszraczylo
4b99a4c5fa
Fix logging, add additional settings for to the middleware.
2024-10-03 14:00:38 +01:00
lukaszraczylo
3fe92d38e0
Add support for logout URL.
2024-07-25 00:21:39 +01:00
lukaszraczylo
1725579d82
Consolidate error handling.
2024-07-24 23:49:15 +01:00
lukaszraczylo
88c566ee9a
Refactor codebase for clarity and consistency.
2024-07-24 23:46:27 +01:00
lukaszraczylo
6de1ccbd17
Add token cache to speed up the process and reduce the number of requests to the oidc endpoint.
2024-07-24 18:30:51 +01:00
lukaszraczylo
1649c72b9e
Add debugging logging.
2024-07-24 16:34:24 +01:00
lukaszraczylo
cf66d988b7
Add vendored dependencies.
2024-07-24 14:33:07 +01:00
lukaszraczylo
12273ecfe8
initial commit
2024-04-07 00:50:02 +01:00