-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Token based authentication extension libraries #1
Conversation
core/src/main/java/redis/clients/authentication/core/AuthXManager.java
Outdated
Show resolved
Hide resolved
core/src/main/java/redis/clients/authentication/core/SimpleToken.java
Outdated
Show resolved
Hide resolved
core/src/main/java/redis/clients/authentication/core/TokenManager.java
Outdated
Show resolved
Hide resolved
745d9ba
to
dfa9498
Compare
- core snapshot
- add ServicePrincipalInfo - unwrap ExecutionException - auth with managedId s - remove EntraIDTokenAuthConfig
core/src/main/java/redis/clients/authentication/core/TokenManager.java
Outdated
Show resolved
Hide resolved
- add unit and integration tests - add executor to shutdown in TokenManager (review from Ivo)
- remove snapshot
…advanced configurations with EntraIDTokenAuthConfigBuilder - add more unit tests
core/src/main/java/redis/clients/authentication/core/TokenManager.java
Outdated
Show resolved
Hide resolved
- make config builders generic - force refresh with managedidentity - skipcache with confidentialclientapp - add builder cloners
- fix units tests - set DEFAULT_EXPIRATION_REFRESH_RATIO in entraid 0.75
- set user in JWToken
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me.
I think it is good first version
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Aaah a challenging review!
Ali, thanks for all the work, this has been much harder than I personally anticipated.
I generally have few important comments, so none of this is blocking. The main things are:
- we are missing licensing statements, I've added them as suggestions, if you agree you can batch submit them
- we are missing a lot of documentation; I know we can add it later, but I always fear we will never come back to that; my personal minium is documentation for all public API, but in this case I would say please explain a few of the parts in the code that are a bit harder to understand (because of complexity)
core/src/main/java/redis/clients/authentication/core/AuthXException.java
Show resolved
Hide resolved
core/src/main/java/redis/clients/authentication/core/IdentityProvider.java
Show resolved
Hide resolved
core/src/main/java/redis/clients/authentication/core/AuthXException.java
Show resolved
Hide resolved
entraid/src/main/java/redis/clients/authentication/entraid/ManagedIdentityInfo.java
Show resolved
Hide resolved
entraid/src/main/java/redis/clients/authentication/entraid/RedisEntraIDException.java
Show resolved
Hide resolved
entraid/src/main/java/redis/clients/authentication/entraid/ServicePrincipalInfo.java
Show resolved
Hide resolved
entraid/src/main/java/redis/clients/authentication/entraid/EntraIDIdentityProvider.java
Show resolved
Hide resolved
entraid/src/test/java/redis/clients/authentication/EndpointConfig.java
Outdated
Show resolved
Hide resolved
- licesing statement - checkout action version - drop useless file
- attemp to increase readibility and establish a clear seperation of responsibilties via breaking tokenmanager into multiple classes and interfaces. - added some comments to explain the logic
This PR contains ;
redis-authx-core
) components for token based authentication as a module to be shared among jedis and lettuceredis-authx-entraid
) library to support MS EntraID to help support integration of jedis and lettuce with MS EntraID authenticationFocused aspects are;