.husky | ||
.woodpecker | ||
dist | ||
examples | ||
src | ||
static | ||
test | ||
.editorconfig | ||
.eslintrc.json | ||
.gitignore | ||
.licenseignore | ||
CHANGELOG.md | ||
jsconfig.json | ||
jsdoc-lib.json | ||
LICENSE | ||
license-checker-config.json | ||
LICENSE.HEADER | ||
package.json | ||
README.md | ||
rome.json | ||
yarn.lock |
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.