Decentralized Online Identity Proofs library in Node/JavaScript
Find a file
Yarmo Mackenbach 8eed1d6b59 Release 0.4.0
2020-11-06 18:39:06 +01:00
demo Add release:minify script 2020-11-05 12:14:26 +01:00
dist Release 0.4.0 2020-11-06 18:39:06 +01:00
docs Release 0.4.0 2020-11-06 18:39:06 +01:00
src Update service provider data structure 2020-11-06 02:27:56 +01:00
test Update service provider data structure 2020-11-06 02:27:56 +01:00
.gitignore Add gitignore 2020-10-23 22:59:44 +02:00
.licenseignore Change license to Apache-2.0 2020-10-24 15:11:14 +02:00
CHANGELOG.md Release 0.4.0 2020-11-06 18:39:06 +01:00
LICENSE Change license to Apache-2.0 2020-10-24 15:11:14 +02:00
license-checker-config.json Change license to Apache-2.0 2020-10-24 15:11:14 +02:00
LICENSE.HEADER Change license to Apache-2.0 2020-10-24 15:11:14 +02:00
package.json Release 0.4.0 2020-11-06 18:39:06 +01:00
README.md Update README 2020-10-25 00:16:08 +02:00
yarn.lock Add merge-options dependency 2020-11-06 01:16:39 +01:00

doip.js

Decentralized OpenPGP Identity Proofs library in node

Technical specifications

Service provider data structure

The object returned by a service provider consists of:

- serviceprovider (object)
  - type          (string: the service provider's type [web, communication])
  - name          (string: the service provider's name)
- profile         (object)
  - display       (string: the profile's identifier for display)
  - uri           (string: the profile's URI)
- proof           (object)
  - uri           (string: the URI containing the proof to be by humans and machines)
  - fetch         (string: see below)
  - useProxy      (boolean: should the request be sent using a proxy)
  - format        (string: [json, text])
- claim           (object)
  - fingerprint   (string: the fingerprint that verifies the claim if found in the proof)
  - format        (string: see below [uri, message, fingerprint])
  - path          (string: the path to the claim inside the proof JSON (comma-separated))
  - relation      (string: how the claim format relates to the proof format [contains, equals, oneOf])
- qr              (string: a URI to be displayed as QR code if the claim is verified)

proof.fetch

Sometimes, the URI used by humans to verify a claim is inadequate for use by machines. This is needed when the JSON is served by a different endpoint. In this case, machines will use a different URI than the one shown to humans.

claim.format

There are three claim formats:

  • uri: the claim is formulated as openpgp4fpr:FINGEPRPRINT
  • message: the claim is formulated as [Verifying my OpenPGP key: openpgp4fpr:FINGEPRPRINT]
  • fingerprint: the claim is formulated as FINGEPRPRINT