Decentralized Online Identity Proofs library in Node/JavaScript
Find a file
2024-01-26 23:09:01 +01:00
.gitea/issue_template fix: fix issue template label [SKIP CI] 2024-01-26 23:09:01 +01:00
.husky fix: fix calls to linting 2023-05-03 10:47:50 +02:00
.woodpecker fix: fix CI syntax 2023-10-09 19:07:29 +02:00
dist chore: release 1.2.8 2024-01-23 19:08:03 +01:00
examples feat: tweaks to examples, use new classes 2023-07-09 12:03:51 +02:00
src Add ORCID biography as possible proof location 2024-01-25 21:14:11 +00:00
static Add jsdoc documentation 2021-04-22 15:14:21 +02:00
test fix: normalize case before hash verification 2023-09-22 08:59:33 +02:00
.editorconfig Add editorconfig 2021-03-25 13:19:54 +01:00
.eslintrc.json feat: add linting config 2023-05-03 10:46:09 +02:00
.gitignore Ignore docs 2021-04-20 16:42:58 +02:00
.licenseignore feat: use rollup for bundling 2023-07-08 08:36:57 +02:00
CHANGELOG.md chore: release 1.2.8 2024-01-23 19:08:03 +01:00
jsconfig.json feat: add linting config 2023-05-03 10:46:09 +02: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 chore: release 1.2.8 2024-01-23 19:08:03 +01:00
prerelease.js feat: add prerelease checks script 2023-09-18 17:34:54 +02:00
README.md Fix typo 2021-04-22 15:56:30 +02:00
rollup.config.js feat: use rollup for bundling 2023-07-08 08:36:57 +02:00
yarn.lock chore: bump deps 2024-01-23 00:27:11 +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.