-
-
Notifications
You must be signed in to change notification settings - Fork 528
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
Implement client assertions (client_secret_jwt/private_key_jwt) support #1251
Comments
ah :-D ... I wanted to ask you today, if it might be a good idea to add I think the biggest trouble might be that openiddict only has a 1:1 mapping between (btw. microsoft forces people to use assertions, because new client_secret's can only have a maximum lifetime of 2 years, while assertions can have a certificate over 100 years) |
Given that client assertions are not really a common thing in most libs, I think it's safe to assume the good old With that in mind, I'll likely end up opting for a new What's still not clear is whether we'll want to support |
well, to:
I would rather not prefer it. I mean it would be ok, if it would be going through an |
Well, you'll still be able to override The only place where the private key will be needed will be in the validation options when using introspection. And for that, good old |
I opened #1252 to track the ability to make things dynamic by resolving the JWKS from the API server. |
For the record, client assertions support is part of the 5.0 preview1 release that shipped today: https://kevinchalet.com/2023/10/20/introducing-native-applications-per-client-token-lifetimes-and-client-assertions-support-in-openiddict-5-0-preview1/ 😃 |
@kevinchalet any plans to support a Public keyset URL in the client registration rather than manually have to register all the keys? |
How would you recommend distributing the private keys to clients? Can they be read from a certificates? My industrial manufacturing IoT company may be interested in this as a safer alternative to distributing client_secrets to our services. If an attacker gains access to the private keys then they can still authenticate, so I don't see how this is safer than client_secret, but our customers can generate and distribute their own certs so it seems more convenient from that perspective. |
certificates do not solve the leakage of the key, but it solves mitm key leakages. Secrets can be farmed by introspection of the traffic between the server and the client, however with assertions the server has the pub key and the client generates an assertion and signs it, which the server than can use to verify the client. |
https://openid.net/specs/openid-connect-core-1_0.html#ClientAuthentication
Note: this includes supporting assertions in the validation stack (for introspection).
The text was updated successfully, but these errors were encountered: