Commit Graph

130 Commits

Author SHA1 Message Date
lukaszraczylo 003a3686a0 Improve the memory usage. 2025-05-21 10:23:24 +01:00
lukaszraczylo da70e69ad1 Memleak fixes. v0.5.51-beta.4 2025-05-09 19:05:24 +01:00
lukaszraczylo 81000a824d Fix dirty session handling. v0.5.51-beta.3 2025-05-07 02:33:34 +01:00
lukaszraczylo 83693d2893 General improvements and tests related fixes. 2025-05-07 02:03:58 +01:00
lukaszraczylo d88ef61c5d Fix the redirection loop. 2025-05-06 21:30:19 +01:00
lukaszraczylo 075476792f Fix: Wrong IdToken passed when AccessToken was configured v0.5.51-beta.2 2025-05-06 20:21:00 +01:00
lukaszraczylo 2583266738 fixup! fixup! Fix the issue with Google OAuth invalid scopes v0.5.51-beta.1 2025-05-06 18:56:37 +01:00
lukaszraczylo 996b25ebaf fixup! Fix the issue with Google OAuth invalid scopes 2025-05-06 13:06:02 +01:00
lukaszraczylo 75b5904099 Fix the issue with Google OAuth invalid scopes 2025-05-06 11:50:46 +01:00
lukaszraczylo a895333964 Add templated headers sent to the downstream service. (#40) v0.5.50 2025-04-14 00:45:26 +01:00
lukaszraczylo 983585e96e Add documentation for the google provider session timeouts. (#39) v0.5.48 2025-04-14 00:00:56 +01:00
lukaszraczylo 8a6e37f7fc Create LICENSE v0.5.46 2025-04-10 01:39:57 +01:00
lukaszraczylo bd7eaf6dff Bugfix: Refresh token not obtained when access token is expired. v0.5.44 2025-04-05 18:28:12 +01:00
lukaszraczylo 3df19e6d90 Update README.md 2025-04-05 14:56:28 +01:00
lukaszraczylo 1910cd6000 Update documentation to the higher standards. v0.5.41 2025-04-05 11:31:45 +01:00
lukaszraczylo 46c2f98a15 Optimize the code, find edge cases, polish the bugs out. 2025-04-05 11:15:15 +01:00
lukaszraczylo 9e8634bfc0 Sort out the text/event-stream issue. 2025-04-04 19:06:53 +01:00
lukaszraczylo 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 4322407129 Add support for PKCE (#31)
* Add PKCE support.
* Add option to toggle PKCE checks feature.
* GoFMT
v0.5.36
2025-03-18 01:09:14 +00:00
lukaszraczylo 4ce2815123 Update the documentation. v0.5.34 2025-02-25 14:02:08 +00:00
lukaszraczylo 7d204113ea Cleanup the codebase, DRY and abstract functions, increase the test coverage. 2025-02-25 12:53:52 +00:00
lukaszraczylo c721913cbe Increase tests coverage. 2025-02-24 12:25:32 +00:00
lukaszraczylo 0f8b7f7ab1 Abstract the cleanup logic and add helper for cache valid. 2025-02-24 12:02:12 +00:00
lukaszraczylo 2743b0e024 Ensure cleanups actually happen. v0.5.29 2025-02-24 00:19:44 +00:00
lukaszraczylo e6fc36937b Clear per-request reference to stop leaking contexts. v0.5.27 2025-02-24 00:04:04 +00:00
lukaszraczylo df051e0cfb Improve expiration logic. v0.5.25 2025-02-19 20:33:26 +00:00
lukaszraczylo 5d5ce8ae5e Additional tests for the blacklists 2025-02-19 12:08:37 +00:00
lukaszraczylo d194cd778a gofmt the updated files. 2025-02-19 11:56:31 +00:00
lukaszraczylo 803a1e5e21 Clean the caches properly to avoid memleak 2025-02-19 11:55:32 +00:00
lukaszraczylo 3ad8fb4518 Optimise cache cleanup run to avoid the GC which causes CPU usage to go higher than necessary. v0.5.20 2025-02-10 09:30:56 +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
v0.5.18
2025-02-09 23:53:05 +00:00
lukaszraczylo e6205b3a48 Add metadata caching capability to avoid unnecesary API calls 2025-02-09 23:37:50 +00:00
lukaszraczylo fdb8e3233e Testing (could be unstable) additional headers.
This adds additional headers to control the access origin and control allow headers.
v0.5.15
2025-02-06 23:46:08 +00:00
lukaszraczylo 33c71fd6fe Enhance test suite. v0.5.13 2025-02-06 23:38:22 +00:00
lukaszraczylo 241cb1c209 Deal with the memory growth issue.
* TokenBlacklist limit is set to 1000
* Increased token cleanup frequency
v0.5.11
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 c09e7a9228 Add additional test cases to cover it. v0.5.8 2025-02-06 21:50:35 +00:00
lukaszraczylo e5da5d4fe9 Fix redirection to the provider when session expires 2025-02-06 21:48:56 +00:00
lukaszraczylo 31db701dda Trigger build and release. v0.5.5 2025-02-05 19:04:44 +00:00
lukaszraczylo 16481afd36 Add todo: Improve test coverage. v0.5.3 2025-02-01 12:20:01 +00:00
lukaszraczylo 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 e74153b107 Merge pull request #28 from lukaszraczylo/additional-improvements
additional improvements
v0.5.0
2025-01-21 19:34:01 +00:00
lukaszraczylo 025107fe3e Well, release it finally. 2025-01-21 19:31:51 +00:00
lukaszraczylo dfb9c0771e Fix session handling and the redirection to the original URL incl. get parameters 2025-01-21 17:49:54 +00:00
lukaszraczylo 1107df40e7 Merge pull request #26 from lukaszraczylo/additional-improvements
Cleanup old cookies properly.
v0.4.10
2025-01-21 17:34:16 +00:00
lukaszraczylo bf294569eb Cleanup old cookies properly. 2025-01-21 17:09:48 +00:00
lukaszraczylo 482c346840 Merge pull request #24 from lukaszraczylo/additional-improvements
additional improvements
v0.4.9
2025-01-21 00:19:49 +00:00
lukaszraczylo a462e44896 Fix remaining issues with session handling and add additional tests. 2025-01-21 00:18:10 +00:00
lukaszraczylo 5eff0dc866 Clean up old cookies. 2025-01-21 00:03:13 +00:00
lukaszraczylo dfc534a400 Merge pull request #23 from lukaszraczylo/additional-improvements
Add useful defaults allowing traefik hub to pass.
v0.4.8
2025-01-20 23:57:51 +00:00