To begin, we need to clone this repository and install all dependencies:
# clone the repository and navigate to the new folder
git clone https://github.com/jolocom/demo-sso.git; cd ./demo-sso
# install all dependencies
yarn install
# or
npm install
In order to ensure that the application works correctly, you will also need redis installed on your local machine. The demo application makes use of the redis-server
and redis-cli
commands to launch, and close a local database upon start and exit.
To ensure no errors occured during the instalation steps, we can attempt to start the service:
# Ensure you are in the 'demo-sso' folder
yarn start
If all goes fine, after a few seconds you should see the following printed message:
"Demo service started, listening on port 9000"
This means we are ready to go on!
If we open the config.ts
- file located in the project root directory, we will notice that there are 3 options we can configure:
-
seed
- A 32 byteBuffer
of random bytes, used for deriving key pairs, as explained in the the getting started section. -
password
- Password used to encrypt theseed
on the instance. Must be provided for any opperations involving key derivation. -
serviceUrl
- The url that can be used reach the deployed service, if you are testing locally, the default value should suffice. -
credentialRequirements
- the types of credentials required by the service. By default the service requires aProofOfNameCredential
, with no associated constraints.
After the fields have been configured, the service can be started by running yarn start
Now that we have the local service running, we can open our browsers and navigate to http://localhost:9000/
to be presented with the landing page.
If you tap the button to continue with Jolocom, the service will generate a credential request (as defined here), encode it as a QR code, and display the resulting image.
At this point the presented request can be scanned using the Jolocom SmartWallet in order to generate the corresponding credential response and share it with the service.
This repository also includes a script that can be run to simulate the client completing the authentication for testing and development purposes. Further documentation on which can be found here