Skip to content

Commit

Permalink
Release 0.3.x (#103)
Browse files Browse the repository at this point in the history
* [RELEASE Changes] add sequence diagram and update readme

Signed-off-by: Hitesh Jain <jainhitesh9998@gmail.com>

* [RELEASE Changes] add sequence diagram and update readme

Signed-off-by: Hitesh Jain <jainhitesh9998@gmail.com>

* [RELEASE Changes] Updated prerequisites

Signed-off-by: Hitesh Jain <jainhitesh9998@gmail.com>

---------

Signed-off-by: Hitesh Jain <jainhitesh9998@gmail.com>
Signed-off-by: Vishwa <visu.vs1@gmail.com>
  • Loading branch information
jainhitesh9998 authored Jan 29, 2025
1 parent 3b3fb55 commit afc4a0c
Showing 1 changed file with 75 additions and 0 deletions.
75 changes: 75 additions & 0 deletions postgres-dataprovider-plugin/README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,78 @@
# PostgreSQL Data Provider Plugin for Inji Certify

A plugin for Inji Certify that enables credential issuance using PostgreSQL data sources.

## Features

* Parameterized SQL query execution
* Automatic JSON transformation of database results
* Integration with Inji Certify for VC issuance

## Prerequisites

* Java 21
* PostgreSQL (The database has to be same as the one used with Inji Certify)
* Inji Certify v0.10.x


## Workflow

```mermaid
sequenceDiagram
participant Client as 🌐 Client
box Inji Certify #E6F3FF
participant credential_endpoint as 🔗 Credential API
participant VelocityEngine as ⚙️ Template Engine
participant VCSigner as 🔏 VC Signer
participant TemplateDB as 💾 Template Store
end
box PostgreSQL Data Provider Plugin #FFE6E6
participant DataProvider as 🔌 Data Provider
end
participant PostgresDB as 💾 PostgreSQL DB
Client->>credential_endpoint: Request VC Issuance (OIDC4VCI)
credential_endpoint->>DataProvider: Request Data (parameters)
DataProvider->>PostgresDB: Establish Connection
PostgresDB-->>DataProvider: Connection Established
DataProvider->>PostgresDB: Execute SQL Query
Note right of PostgresDB: Query processes<br/>with parameters
PostgresDB-->>DataProvider: Return Result Set
DataProvider->>DataProvider: Convert to JSONObject
Note right of DataProvider: Transform DB results<br/>to JSON format
DataProvider->>PostgresDB: Close Connection
DataProvider-->>credential_endpoint: Return JSONObject
credential_endpoint->>TemplateDB: Fetch Credential Template
TemplateDB-->>credential_endpoint: Return Template
credential_endpoint->>VelocityEngine: Process Template with JSON Data
VelocityEngine-->>credential_endpoint: Return unsigned Credential Data
credential_endpoint->>VCSigner: Sign Credential
Note right of VCSigner: Sign VC
VCSigner-->>credential_endpoint: Return Signed VC
credential_endpoint-->>Client: Return Final VC (OIDC4VCI)
```

1. **Client Request**: Initiate VC request via OIDC4VCI protocol
2. **Data Fetching**:
* Credential API calls PostgreSQL Data Provider
* Secure connection established with database
* Parameterized SQL query executed
* Results converted to JSON format
3. **Credential Generation**:
* Template engine merges data with credential template
* VC Signer adds cryptographic proofs
4. **Response**: Signed VC returned to client


## Configuration docs for Postgres Plugin

- Pre-requisites
Expand Down

0 comments on commit afc4a0c

Please sign in to comment.