This is the working area for the IETF OAUTH Working Group Internet-Draft, "Selective Disclosure for JWTs (SD-JWT)".
See the guidelines for contributions.
Contributions can be made by creating pull requests. The GitHub interface supports creating pull requests using the Edit (โ) button.
All examples in the document are created from actual running code maintained at openwallet-foundation-labs/sd-jwt-python.
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/openwallet-foundation-labs/sd-jwt-python
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.
- Python: Reference/Demo Implementation
- Kotlin: SD-JWT-Kotlin (ID Union)
- Kotlin: eudi-lib-jvm-sdjwt (EU Digital Identity Wallet)
- Swift: eudi-lib-sdjwt-swift (EU Digital Identity Wallet)
- Rust: sd_jwt
- TypeScript: sd-jwt-js
- TypeScript: sd-jwt
- TypeScript: sd-jwt-ts
- TypeScript: jwt-sd
- TypeScript: @meeco/sd-jwt (Meeco)
- Java: Java Library for SD-JWT (Authlete)
- Go: sd-jwt (TBD)
- Go: go-sd-jwt