-
Notifications
You must be signed in to change notification settings - Fork 25
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
Public key in JWT #44
Comments
Thanks. Just to check: The That works fine here because the registration is self-signed, but if it ever wasn't (e.g. if we added cross-signing between sessions at some point) would it still make sense? |
Yes. That's from https://www.rfc-editor.org/rfc/rfc7515#section-4.1.3
It's hard to say in the abstract or hypothetical but wouldn't it make sense to figure out how that would work and define it when/if such a thing was added? |
Right now I captured a sample JWT from Chrome Canary:
Which has claims:
This SubjectPublicKeyInfo is base64 asn1, and is difficult to parse. It would make more sense for this to be a JWK public key format as suggested. |
I'm looking into using JWK instead, should get some answer this week hopefully. |
I maintain that the |
How would you prefer it, like this? |
Brian, is the implication of a jwk field in a JWT header that the JWT itself is necessarily signed by that key? That happens to work in the most general case here where the registration message is self-signed, but it would preclude any form of deployment where the registration JWT is signed by a different key (this may be relevant to the enterprise-flavored proposal in #67). If possible I'd like to leave that possibility open. The purpose of this public key is to save it on the server for verifying future refresh JWTs, more than it is for verifying the registration JWT itself. (Sorry about the SubjectPublicKeyInfo bit left in there, it makes sense to use JWKs in the spec. We use SPKI formats for Google-specific deployments since we find it significantly safer and easier to parse than JWKs.) |
Sorry, I see I asked the same question back in April and you answered then already. We do want the ability to convey a public key in the registration JWT that is not the signing key of that JWT itself. That seems to violate the definition of the jwk header field. |
My comment in #44 (comment) did mention a preference but wasn't meant to ask for this to be reopened, apologies for that. It was more intended to acknowledge and say thanks for the change to JWK formatting. |
Please consider using the
jwk
header parameter to convey the public key in the JWT sent by the browser. That would better leverage existing standards, be similar to how DPoP did much the same thing: https://www.rfc-editor.org/rfc/rfc9449.html#name-dpop-proof-jwt-syntax, and remove ambiguity of"key": "public key",
in the current example.The text was updated successfully, but these errors were encountered: