You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Token based authentication integration with core extension (#3063)
* Support for StreamingCredentials
This enables use cases like credential rotation and token based auth without client disconnect. Especially with Pub/Sub clients will reduce the chnance of missing events.
* Tests & publish ReauthEvent
* Clean up & Format & Add ReauthenticateEvent test
* Conditionally enable connection reauthentication based on client setting
DEFAULT_REAUTHENTICATE_BEHAVIOUR
* Client setting for enabling reauthentication
- Moved Authentication handler to DefaultEndpoint
- updated since 6.6.0
* formating
* resolve conflict with main
* format
* dispath using connection handler
* Support multi with re-auth
Defer the re-auth operation in case there is on-going multi
Tx in lettuce need to be externally synchronised when used in multithreaded env. Since re-auth happens from different thread we need to make sure it does not happen while there is ongoing transaction.
* Fix EndpointId missing in events
* format
* Add unit tests for setCredenatials
* Skip preProcessing of auth command to avoid replacing the credential provider with static one provider
Add unit tests for setCredentials
* clean up - remove dead code
* Moved almost all code inside the new handler
* fix inTransaction lock with dispatch command batch
* Remove StreamingCredentialsProvider interface.
move credentials() method to RedisCredentialsProvider.
Resolve issue with unsafe cast after extending RedisCredentialsProvider with supportsStreaming() method
* Add authentication handler to ClusterPubSub connections
* Token based auth integration with core extension
Provide a way for lettuce clients to use token-based authentication.
TOKENs come with a TTL. After a Redis client authenticates with a TOKEN, if they didn't renew their authentication we need to evict (close) them. The suggested approach is to leverage the existing CredentialsProvider and add support for streaming credentials to handle token refresh scenarios. Each time a new token is received connection is reauthenticated.
* rebase to address "oid" core-autx lib change
formating
* Add EntraId integration tests
Verify authentication using Azure AD with service principals
* StreamingCredentialsProvider replaced with RedisCredentialsProvider.supportsStreaming()
* pub/sub test basic functionality with entraid auth
* Update src/main/java/io/lettuce/authx/TokenBasedRedisCredentialsProvider.java
Co-authored-by: Tihomir Krasimirov Mateev <[email protected]>
* Addressing review comments from @tishun
* Bump redis-authx-core & redis-authx-entraid from 0.1.0-SNAPSHOT to 0.1.1-beta1
* add java doc for
TokenBasedRedisCredentialsProvider
---------
Co-authored-by: Tihomir Mateev <[email protected]>
Co-authored-by: Tihomir Krasimirov Mateev <[email protected]>
0 commit comments