Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/spruceid/openid4vp
OpenID Connect for Verifiable Presentations
https://github.com/spruceid/openid4vp
openid
Last synced: 5 days ago
JSON representation
OpenID Connect for Verifiable Presentations
- Host: GitHub
- URL: https://github.com/spruceid/openid4vp
- Owner: spruceid
- Created: 2022-11-02T13:46:37.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-12-16T02:52:41.000Z (20 days ago)
- Last Synced: 2024-12-16T03:28:52.444Z (20 days ago)
- Topics: openid
- Language: Rust
- Size: 324 KB
- Stars: 2
- Watchers: 15
- Forks: 3
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# OpenID for Verifiable Presentations (OID4VP)
[![Crates.io](https://img.shields.io/crates/v/openid4vp)](https://crates.io/crates/openid4vp)
[![Docs.rs](https://docs.rs/openid4vp/badge.svg)](https://docs.rs/openid4vp)
[![License](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT)### Rust implementation of the OpenID for Verifiable Presentations (OID4VP) specification.
## Install
Add the following to your `Cargo.toml`:
```toml
[dependencies]
openid4vp = "0.1"
```or
```shell
cargo add openid4vp
```## Testing
Ensure the `/tests/presentation-exchange` submodule is initialized, run the following in the root of the project:
```shell
git submodule init --recursive
```## Presentation Exchange Overview
```mermaid
sequenceDiagram
participant Holder
participant Verifier
participant IssuerVerifier->>Holder: 1. Request Presentation (with Presentation Definition)
Note over Holder: 2. User consents to share credentials
Holder->>Holder: 3. Select appropriate credentials
Holder->>Holder: 4. Create Verifiable Presentation
Holder->>Holder: 5. Create Presentation Submission
Holder->>Verifier: 6. Send VP Token (VP + Presentation Submission)
Verifier->>Verifier: 7. Validate VP Token
Verifier->>Issuer: 8. (Optional) Verify credential status
Issuer-->>Verifier: 9. (Optional) Credential status response
Verifier->>Verifier: 10. Check claims against Presentation Definition
Verifier->>Holder: 11. Grant or deny access based on verification
```## License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.