Skip to content
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

Create RFC7662 TokenIntrospectionFactory #32

Open
sberyozkin opened this issue Apr 3, 2019 · 3 comments
Open

Create RFC7662 TokenIntrospectionFactory #32

sberyozkin opened this issue Apr 3, 2019 · 3 comments
Labels
good first issue Good for newcomers

Comments

@sberyozkin
Copy link
Contributor

sberyozkin commented Apr 3, 2019

RFC 7662 talks about OAuth2/OIDC servers returning token introspection responses.
Keycloak also implements it: https://issues.jboss.org/browse/KEYCLOAK-2266

Having such a factory will let the users (optionally) integrate with any certified OIDC servers. It will also allow to support the encrypted tokens issued by such servers (which choose to encrypt them) since importing the private keys of these providers into MP-JWT endpoints is not possible.

@sberyozkin
Copy link
Contributor Author

Might require a provided smallrye-rest-client dependency

@sberyozkin
Copy link
Contributor Author

sberyozkin commented Dec 10, 2020

Now that we have split the implementation into sub-modules, the solution to this issue becomes clearer:

  • introduce smallrye-jwt-introspection module which will have
  • CDI Alternative JWTCallerPrincipalFactory which will use Mutiny Vert.x WebClient to introspect a token
  • If the introspected token is active and it is JWT then DefaultJWTTokenPrincipal is returned
  • if it is not JWT then it is created from the introspection response which may include the username and a few other properties which can be converted into claims

@sberyozkin sberyozkin added the good first issue Good for newcomers label Dec 10, 2020
@cotnic
Copy link

cotnic commented Dec 20, 2022

hello @sberyozkin, can I help out with this issue?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
good first issue Good for newcomers
Projects
None yet
Development

No branches or pull requests

2 participants