Decentralized Online Identity Proofs library in Node/JavaScript
Find a file
2020-10-26 00:04:19 +01:00
bundle Generate new bundle 2020-10-25 01:55:32 +02:00
demo Update browser demo 2020-10-25 01:55:40 +02:00
src Add github service provider 2020-10-26 00:04:19 +01:00
test Automatically generate tests for every service provider 2020-10-25 02:02:19 +02: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
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-lock.json Remove dependencies 2020-10-25 00:40:56 +02:00
package.json Remove dependencies 2020-10-25 00:40:56 +02:00
README.md Update README 2020-10-25 00:16:08 +02: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