Skip to main content

Quickstart

The easiest way to try the server is by using docker compose. It helps to compile and run the application along with starting the postgreSQL server dependency within one command. The server will start and expose the different components that will then accessible through a browser or raw HTTP calls.

Administration homepage

boruta administration homepage

1. Get the server source code

git clone https://github.com/malach-it/boruta-server.git

2. Run an instance from docker-compose

You can build and run the docker images as follow:

cd ./boruta-server
docker compose up

The applications will be available on different ports (depending on the docker compose environment configuration):

Admin credentials are the one seeded and available in the .env.example environment file.

Default admin credentials

In order to authenticate to the administration interface you will be asked for credentials that are by default (seeded from environment variables) admin@test.test / imaynotknowthat.

3. Try Verifiable Credentials flows

3.1 Get a DID services API key

boruta uses Universal resolver to generate and resolve DIDs. By default, the server is configured to use Godiddy services, you can get an API key registering to their services and set the corresponding environment variable in .env.example file.

DID_SERVICES_API_KEY=<Godiddy generated credentials>

3.2 Configure the server

On the administration homepage you can navigate to "Load example configuration" link that enables to display an example configuration to be persisted within Configuration > Upload a configuration file section. The configuration file is ready to be used, triggering "Upload configuration" button uploads the configuration and persists it.

3.3 Generate client DID

Navigating to example client edit page, in the security section, you have the ability to generate example client DID ("Regenerate client did"). Thiw will generate the DID associated to the client cryptograhic key pair.


Credential flows


issue-hold-verify


3.4 Running the flows

boruta is intended to implement OpenID 4 Verifiable Credentials Issuance and OpenID 4 Verifiable Presentations. It helps getting Verifiable Credentials and store them within an identity wallet. And then to present them to be validated by the server.

3.4.1 Issuing a Verifiable credential

On the administration homepage, following "Trigger example pre-authorized code flow with associated boruta wallet (load example data first)" link triggers a Verifiable Credential issuance flow. You can then register for a new account, and follow the tunnel. Through consent, you should see the credential offer page. Follow the "Get your verifiable credential" link and you will be redirected to boruta integrated wallet to store the offered credential.

3.4.2 Presenting a Verifiable credential

Back to the administration homepage, you can, after getting the example Verifiable Credential, follow the "Trigger example presentation with associated boruta wallet (issue example credential first)" link. You will be asked to log in and then be redirected to the wallet. Finally, You will be able to present your credential.

Demonstration video (installation)