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

Relationship between sub_jwk and JWT signing key #43

Open
jmandel opened this issue Aug 14, 2020 · 1 comment
Open

Relationship between sub_jwk and JWT signing key #43

jmandel opened this issue Aug 14, 2020 · 1 comment

Comments

@jmandel
Copy link
Contributor

jmandel commented Aug 14, 2020

In the spec, the example id_token has been signed with a header.kid that's different from the payload's sub_jwk kid. In general, when/why should these differ, and what processing steps should a client follow to ensure they are "consistent"?

@awoie
Copy link
Member

awoie commented Sep 14, 2020

They should both be the same. That is one issue we had with the SIOP spec that we needed to introduce these kind of redundancies. Note, DID SIOP backward compatibility with the SIOP spec was a goal. That is the reason why this language is in the spec.

Ideally, in SIOP v2, we don't need to use sub_jwk if the spec allows for key indirections based on a DID.

To verify an id_token, the following must be done:

Verifying that the id_token was signed by the key specified in the sub_jwk claim.
Resolve the DID Document from the SIOP's DID specified in the did claim.
Determine the verification method from the SIOP's DID Document that matches the kid of the sub_jwk claim in the id_token.
Verify the id_token according to the verification method above. This step depends on the verification method in the authentication section in the DID Document and is out-of-scope of this specification.

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

No branches or pull requests

2 participants