| title | description | hide_table_of_contents |
|---|---|---|
Universal OID4VP |
Universal OID4VP OpenAPI Specification and Code Generators |
true |
Welcome to the Universal OID4VP API repository, managed and created by the Fides Community. This repository contains the OpenAPI specification for the Universal OID4VP API (OpenID for Verifiable Presentation) and accompanying tools for generating code based on this specification.
The Universal OID4VP API provides a structured and comprehensive specification for integrating OpenID for Verifiable Presentations in your applications, where you do not rely on a single vendor providing the OID4VP Relying Party component. Using this OpenAPI, developers can generate consistent, reusable, and extensible client/server code in a variety of programming languages, enabling seamless integration and adherence to open identity standards.
Key highlights of this project include:
- OpenAPI specification defined in
openapi.yaml. - Code generators powered by OpenAPI Generator, integrated with Gradle for automation.
- Support for multiple programming languages during code generation.
openapi.yaml: The core OpenAPI specification for Universal OID4VP.build.gradle: Configuration for Gradle tasks used to generate code using OpenAPI Generator.build/generated: Auto-generated code for client/server implementations.docs: Documentation generated fromopenapi.yaml, detailing the available API operations, data structures, and workflows.
To get started, make sure you have the following installed:
- Java Development Kit (JDK): Version 11 or higher.
- Gradle: Version 7.x or above.
Code generation is automated using Gradle tasks defined in the build configuration. You can generate client or server code based on the OpenAPI
specification in openapi.yaml.
Run the following command to generate code for a specified language:
./gradlew generate<LANGUAGE>ClientReplace <LANGUAGE> with your desired generation target (e.g., Java, Python, etc.).
Example: To generate a Java client:
./gradlew generateJavaClientThe generated code will be saved in the appropriate directory under build/generated.
The primary source of truth for this repository is the openapi.yaml file. You can edit this file to customize the API specification or add new
endpoints. After making changes, re-generate the code to reflect the updated specification in your project.
This project leverages the OpenAPI Generator tool, integrated with Gradle plugins, to automatically generate client and server code from a single
source of truth (openapi.yaml). Here’s how the process works:
- OpenAPI Definition: The
openapi.yamlcontains the API definition, including all endpoints, paths, parameters, and object schemas. - Code Generation: Gradle tasks call OpenAPI Generator with the specified language templates to generate the code in the
src/generated/folder. - Development and Integration: Use the generated code as a foundation to implement APIs or interact with the Universal OID4VP.
We welcome contributions from the community! If you’d like to contribute to this project:
- Fork the repository.
- Implement your changes.
- Submit a pull request for review.
Be sure to adhere to the contribution guidelines outlined in the CONTRIBUTING.md file.
This project is licensed under the Apache License 2.0. See the LICENSE file for details.
Built and maintained by the Fides Community.
We appreciate all contributors and users who help improve and grow this project!
Fides Community
Learn more