Identity APIs to used to generate DID documents for entities based on external identifiers.

Overview

Identity API

This API is used to generate and decentralized identity documents for all entities that are stored in a registry.

These documents contain the ID of the entity they describe, as well as the assertion or verification methods used by the entity to sign and verify credentials or presentations (respectively) generated or issued by them.

An example document is given below:

{
	// The schema this JSON-LD document follows.
	"@context": [
		"https://www.w3.org/ns/did/v1",
		"https://w3id.org/security/suites/ed25519-2020/v1"
	],

	// The DID for the subject. Here, the subject of the document is an entity
	// with the ID 0adcea7457d79d3e.
	"id": "did:web:registry.io:entity:0adcea7457d79d3e",

	// The keys used by the entity to sign a credential/presentation.
	"verificationMethod": [
		{
			"id": "did:web:registry.io:entity:0adcea7457d79d3e#signing-key",
			"type": "Ed25519VerificationKey2020",
			"publicKeyMultibase": "zEYJrMxWigf9boyeJMTRN4Ern8DJMoCXaLK77pzQmxVjf",
			"privateKeyMultibase": "z4E7Q4neNHwv3pXUNzUjzc6TTYspqn9Aw6vakpRKpbVrCzwKWD4hQDHnxuhfrTaMjnR8BTp9NeUvJiwJoSUM6xHAZ"
		}
	],
	"assertionMethod": [
		{
			"id": "did:web:registry.io:entity:0adcea7457d79d3e#signing-key",
			"type": "Ed25519VerificationKey2020",
			"publicKeyMultibase": "zEYJrMxWigf9boyeJMTRN4Ern8DJMoCXaLK77pzQmxVjf",
			"privateKeyMultibase": "z4E7Q4neNHwv3pXUNzUjzc6TTYspqn9Aw6vakpRKpbVrCzwKWD4hQDHnxuhfrTaMjnR8BTp9NeUvJiwJoSUM6xHAZ"
		}
	]
}

To create such a document, an entity must provide an external identifier (such as their email address or phone number) to the Identity API, which will then return a DID document similar to the one above.

Once you receive the document, you must store it securely - you will need it to issue/sign credentials or presentations - and also store it (without the private key fields) in a registry, so that others can verify credentials or presentations signed with your public key.

You might also like...

Extension for remirror.io to store entities

remirror-entity-extension Extension for remirror.io to store entities Live demo (storybook) Motivation Remirror's native EntityReferenceExtension allo

Oct 7, 2022

An App that uses an external APIs to show meals from around the world

An App that uses an external APIs to show meals from around the world

This website displays recipes meals using APIs to retrieve details from a DataBase and also implements features like adding a functional Like button for every item and a section for adding a new comment. All these through an external API to send and receive data.

Mar 12, 2022

Finer control of the Obsidian sidebars. To be used with an external window manager.

Finer control of the Obsidian sidebars. To be used with an external window manager.

Sidebar Toggler Finer control of the Obsidian sidebars. To be used with an external window manager. What the plugin does It adds four commands for tog

Nov 4, 2022

This is a JavaScript leaderboad list app. In this project I used Webpack and ES6 modules. As well as HTML, and CSS for styling the app. When submitting the scores the data is preserved thanks to the external Leaderboard API service.

Leaderboard App In this project the leaderboard app allows you to create games and the user can submit their names and scores into the app to keep tra

Oct 26, 2022

Leader Board is a simple project based on JavaScript programing language. The purpose of this project is to work with APIs and ASYNC & AWAIT methods. I have used vanilla JavaScript with web pack to implement this project

Leader Board is a simple project based on JavaScript programing language. The purpose of this project is to work with APIs and ASYNC & AWAIT methods. I have used vanilla JavaScript with web pack to implement this project

Leader Board - JavaScript Project Table of contents Overview The challenge Screenshot Links Project Setup commands My process Built with What I learne

Oct 21, 2022

Type Identity - a powerful and highly customizable authentication and authrozation and access-control framework

Type Identity is a powerful and highly customizable authentication and authrozation and access-control framework. It is the de-facto standard for securing Type Script api beta release

Jan 1, 2023

Prove your identity, for example you are BYR.

Usay For what? Prove your identity, for example you are BYR. Code Quality All code is written by Copilot, so if you find any bug, please report it to

Aug 10, 2022
Comments
  • docs: add guide to calling the API

    docs: add guide to calling the API

    Overview

    Add a markdown document in the docs/ folder called docs/calling-the-api.md, and in it, explain in a step by step manner the calling of each API endpoint, with the end goal being to create a DID document for a student named Ramesh.


    If you wish to take up this issue, reply to it below so I can assign you to it. If you are stuck/need any help, you could ask me here itself :)

    documentation good first issue help wanted 
    opened by gamemaker1 0
  • tests: add integration and unit test suites

    tests: add integration and unit test suites

    Overview

    The integration test suite should simply test each and every API - ensuring all possible successful responses, error responses and server crash cases are covered.

    The unit test suite should test every function in the utilities/ and services/ folders.

    Tasks

    • [ ] Add integration test suite for each API.
    • [ ] Add unit tests for utility functions.
    • [ ] Add unit tests for services.
    • [ ] Ensure coverage is close to 95% using c8

    Each of these tasks can be completed in a separate PR. The last task (regarding coverage) should be completed after the first 3.

    If you wish to take up this issue, reply to it below so I can assign you to it. If you are stuck/need any help, you could ask me here itself :)

    good first issue help wanted tests 
    opened by gamemaker1 7
Owner
Verifiable Presentation Generation
A plugin-based service that allows issuers to render verifiable presentations from templates, and store it in a queryable database for holders to list/retrieve.
Verifiable Presentation Generation
Kyrillos Hany 14 Aug 10, 2022
Grupprojekt för kurserna 'Javascript med Ramverk' och 'Agil Utveckling'

JavaScript-med-Ramverk-Laboration-3 Grupprojektet för kurserna Javascript med Ramverk och Agil Utveckling. Utvecklingsguide För information om hur utv

Svante Jonsson IT-Högskolan 3 May 18, 2022
Hemsida för personer i Sverige som kan och vill erbjuda boende till människor på flykt

Getting Started with Create React App This project was bootstrapped with Create React App. Available Scripts In the project directory, you can run: np

null 4 May 3, 2022
Kurs-repo för kursen Webbserver och Databaser

Webbserver och databaser This repository is meant for CME students to access exercises and codealongs that happen throughout the course. I hope you wi

null 14 Jan 3, 2023
Expose top-level identifiers in Next.js app.js

recma-nextjs-static-props Expose top-level identifiers in Next.js app.js Installation npm install recma-nexjs-static-props Usage This plugin is intend

Remco Haszing 14 Nov 3, 2022
This project is about the awesome books we did during Microverse to build a website for adding and removing the books.Done using HTML and ES6 JAVASCRIPT and modules

Awesome-books-with-ES6 Description the project. this project is about the awesome books we did during Microverse to build a website for adding and rem

Ilham Bouaik 5 May 28, 2022
Did you think that dinosaurs were finished evolving?

Chrome Dino Game This is a recreation of everyone's favorite offline companion, google chrome dinosaur game, with the same classic monochrome interfac

Wasim Reja 8 Sep 6, 2022
A card for Home Assistant Lovelace for exploring the history of your entities interactively and in real time.

History explorer card This is a custom history card for Home Assistant. This card offers a highly interactive and configurable way to view the history

null 165 Dec 31, 2022
Node js package makes creating node jd dependincies files like Controllers,Entities and Repositories easier by executing a few instructions

Nodejs Studio Node js package makes creating node js project dependincies files like Controllers,Entities and Repositories easier by executing a few i

Syrian Open Source 9 Oct 12, 2022