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)
- Kotlin Multiplatform (JVM/JS) waltid-sdjwt
- 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