Decentralized Online Identity Proofs library in Node/JavaScript
Find a file
TymanWasTaken 06b7d24cce
Modify the twitter claim definition so that it requires no authorization, by making use of twitter's oembed support
The new twitter api changes will remove free access to the api, and doing verification without any credentials is easier anyways
2023-02-14 23:48:26 -07:00
.husky Replace prettier with standard, add husky 2021-07-09 23:47:48 +02:00
dist Modify the twitter claim definition so that it requires no authorization, by making use of twitter's oembed support 2023-02-14 23:48:26 -07:00
examples Improve examples 2022-02-08 18:48:57 +01:00
src Modify the twitter claim definition so that it requires no authorization, by making use of twitter's oembed support 2023-02-14 23:48:26 -07:00
static Add jsdoc documentation 2021-04-22 15:14:21 +02:00
test Fix types in test 2022-11-17 21:11:00 +01:00
.drone.yml Remove proxy functionality 2022-11-17 22:01:47 +01:00
.editorconfig Add editorconfig 2021-03-25 13:19:54 +01:00
.gitignore Ignore docs 2021-04-20 16:42:58 +02:00
.licenseignore Remove proxy functionality 2022-11-17 22:01:47 +01:00
CHANGELOG.md Update CHANGELOG 2023-01-18 14:02:16 +01:00
jsdoc-lib.json Replace prettier with standard, add husky 2021-07-09 23:47:48 +02:00
LICENSE Update year 2021-01-13 13:20:33 +01:00
license-checker-config.json Add regex to license check 2022-02-25 11:07:17 +01:00
LICENSE.HEADER Add regex to license check 2022-02-25 11:07:17 +01:00
package.json Modify the twitter claim definition so that it requires no authorization, by making use of twitter's oembed support 2023-02-14 23:48:26 -07:00
README.md Fix typo 2021-04-22 15:56:30 +02:00
yarn.lock Release 0.18.1 2022-12-12 16:28:21 +01:00

doip.js

doip.js allows websites and Node.js projects to verify decentralized online identities based on OpenPGP.

Source code available at codeberg.org.

Documentation available at js.doip.rocks.

Features

  • Verify online identities using decentralized technology
  • Based on OpenPGP, a widely-used cryptographic standard
  • Regex-based service provider detection
  • Mocha tests

Installation (node)

Install using yarn or npm:

yarn add doipjs
# or
npm install --save doipjs

Import the doip module in your code:

const doip = require('./doipjs')

Installation (browser)

Include the following HTML snippet (requires openpgp.js):

<script src="/static/openpgp.min.js"></script>
<script src="/static/doip.min.js"></script>

Quickstart

Run the following javascript:

const verifyIdentity = async (url, fp) => {
  const claim = new doip.Claim(url, fp)
  claim.match()
  await claim.verify()
  console.log(claim.result)
}
verifyIdentity('dns:doip.rocks', '9f0048ac0b23301e1f77e994909f6bd6f80f485d')

This snippet works and will verify the doip.rocks domain as bidirectionally linked to Yarmo's cryptographic key.

About Keyoxide

Keyoxide, made by Yarmo Mackenbach, is a modern, secure and privacy-friendly platform to establish decentralized online identities using a novel concept know as DOIP. In an effort to make this technology accessible for other projects and stimulate the emergence of both complementary and competing projects, this project-agnostic library is published on codeberg.org and open sourced under the Apache-2.0 license.

Community

There's a Keyoxide Matrix room where we discuss everything DOIP and Keyoxide.

Donate

Please consider donating if you think this project is a step in the right direction for the internet.

Funding

This library was realized with funding from NLnet.