SD-JWT: Selective Disclosure for JWTs
This is the working area for the IETF OAUTH Working Group Internet-Draft, "Selective Disclosure for JWTs (SD-JWT)".
Contributing
See the guidelines for contributions.
Contributions can be made by creating pull requests. The GitHub interface supports creating pull requests using the Edit (✏) button.
Building the Examples & Draft
All examples in the document are created from actual running code maintained at danielfett/sd-jwt.
To build formatted text and HTML versions of the draft, run the following steps:
- Follow the instructions in https://github.com/martinthomson/i-d-template/blob/main/doc/SETUP.md to setup the build environment.
- Install the sd-jwt library as described in https://github.com/danielfett/sd-jwt
or
if the library was installed previously, make sure to enter the virtualenv (source venv/bin/activate
) cd examples
to change to the examples directorysd-jwt-generate example
to generate the examplescd ..
Now, the draft can be compiled using make
.
The artifacts generated for the examples (e.g., serialized SD-JWTs, Disclosures, payloads, etc.) can be inspected in the subdirectories of the examples
directory.
SD-JWT Implementations
- Python: Reference/Demo Implementation
- Kotlin: SD-JWT-Kotlin (ID Union)
- Rust: sd_jwt
- TypeScript: sd-jwt
- TypeScript: sd-jwt-ts
- Java: Java Library for SD-JWT (Authlete)
- Go: sd-jwt (TBD)