Wallet Service#
Added in version 2.3.
Developer Preview
The ESS Wallet Service endpoints are available as part of a Developer Preview program to allow early access to these features. Please be aware that these APIs may change.
The Wallet Service provides a set of endpoints to support the creation of a Data Wallet application that connects to a Solid Pod. With the Wallet Service:
An application can incorporate Wallet capabilities for managing resources in the Wallet (e.g.
Read
,Write
,Delete
).An application can incorporate Access Requests and Access Grants for managing access to data stored in the Wallet.
An application can add the ability to download data from an external reference for storage in the Wallet.
ESS Wallet Service Endpoints#
ESS Wallet Service endpoints run at:
https://datawallet.{ESS Domain}
The ESS Wallet Service consists of the following endpoints:
Wallet Endpoint#
Create, Read, Update and Delete Wallet resources.
HTTP Method |
Endpoint |
Description |
---|---|---|
|
|
List all resources in the Wallet. |
|
|
Create or update a resource in the Wallet. |
|
|
Get the content of a resource in the Wallet. |
|
|
Delete a resource from the Wallet. |
Inbox Endpoint#
Manage Access Requests in the Wallet inbox.
HTTP Method |
Endpoint |
Description |
---|---|---|
|
|
List all Access Requests in the inbox. |
|
|
Fetch the content of a specific Access Request from the inbox. |
|
|
Delete an Access Request from the inbox. |
|
|
Verify an Access Request in the inbox. |
|
|
Grant access to a resource based on a specific Access Request in the inbox. |
|
|
Deny access to a resource based on a specific Access Request in the inbox. |
Access Grant Endpoint#
Manage Access Grants in a user’s Wallet.
HTTP Method |
Endpoint |
Description |
---|---|---|
|
|
List all Access Grants managed by the user’s Wallet. |
|
|
Fetch an Access Grant managed by the user’s Wallet. |
|
|
Delete an Access Grant managed by the user’s Wallet. |
|
|
Revoke and delete an Access Grant managed by the user’s Wallet. |
|
|
Revoke and delete multiple Access Grants managed by the user’s Wallet. |
Signup Endpoint#
Initialize a Solid Pod for use with the Wallet.
HTTP Method |
Endpoint |
Description |
---|---|---|
|
|
Initialize a user’s Pod for use with the Wallet. |
Access Prompt Endpoint#
Initiate and validate Access Request flows with third-party applications.
HTTP Method |
Endpoint |
Description |
---|---|---|
|
|
Endpoint subject to change. Send a prompt to a third party, initiating an Access Request flow. |
|
|
Endpoint subject to change. Validate an Access Request and search the Wallet for data of the requested type. |
Login Endpoint#
Facilitate login flows for applications.
HTTP Method |
Endpoint |
Description |
---|---|---|
|
|
Experimental. Provide user properties to a client application. |
Endpoint Access Control#
The ESS Wallet Service endpoints listed above require the caller to be authenticated. The endpoints support the use of HTTP-only, secure session cookies.
Wallet Service Configuration#
As part of the installation process, Inrupt provides base Kustomize overlays and associated files that require deployment-specific configuration inputs.
The following configuration options are available for the service and may be set as part of updating the inputs for your deployment. The Inrupt-provided base Kustomize overlays may be using updated configuration values that differ from the default values.
Required#
- SPRING_APPLICATION_HTTP_BASE_URL#
Default:
https://datawallet.<ESS Domain>
Specifies the root URL of the wallet service.
- SPRING_SECURITY_OAUTH2_CLIENT_REGISTRATION_WALLET_APP_CLIENT_ID#
Default:
https://datawallet.<ESS Domain>/app/id
Specifies the URL of the ClientID document for the wallet service.
Optional#
Multiple third-party clients can be configured using indexed properties. The indexed property values must be consecutive non-negative integers starting at 0. For example:
WALLET_APP_THIRD_PARTY_CLIENTS_0_CLIENT=ffc36f46-45cf-4dbd-853e-7cdc5587e206
WALLET_APP_THIRD_PARTY_CLIENTS_0_NAME=DataWallet Companion App
WALLET_APP_THIRD_PARTY_CLIENTS_1_CLIENT=8257876e-ec3f-4b4c-8dda-8a00142351eb
WALLET_APP_THIRD_PARTY_CLIENTS_1_NAME=Third-party Wallet Application
- WALLET_APP_THIRD_PARTY_CLIENTS_{index}_CLIENT#
A unique identifier for a third-party client. For example,
ffc36f46-45cf-4dbd-853e-7cdc5587e206
.
- WALLET_APP_THIRD_PARTY_CLIENTS_{index}_NAME#
A name for a third-party companion application. For example, “DataWallet Companion App”