npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

ssif-api

v0.2.9

Published

A self sovereign identity framework API

Downloads

19

Readme

Usage

Self Sovereign Identity Framework (SSIF) API The API is available as npm package https://www.npmjs.com/package/ssif-api and can be included in nodejs or javascript and retrieved using npm install. Typescript is used and propagated but not mandatory. The SsifApi manages connection with the claims registry (ERC780 alike contract on Rinkeby) and manages the open sessions that must exist to connect the users ID-App and the web service. The API does not offer direct gateway functionality, but function input/output can be mapped almost one on one on e.g. express or angular framework or other existing webserver framework functionality. See the example below. The idea is that the webserver has access to the necessary data and e.g. knows if the user in question is allready onboarded (use startSession) or needs to exchange key material because it is the first contact (use StartSessionFirstContact)

It is used in both Attestation Issuer (AI) and the Relying Party (RP)

SsifApi overview

Prerequisites

The software runs on nodejs with typescript.

Available functions

constructor SsifApi (ethereumProvider, contractAddress, [privateKey, [config]])

Initialize the API with location and access data to the ERC780 contract / address

static generateSessionId ()

A static function that can be used to generate a sessionId (which is a UUID)

addTrustEcdsaKoblitzSignature2016 (key)

set trust for a key this type of attestation (used in the KvK use case)

addTrustSSIFEthereumHash2017 (contract)

set trust for a contract of this type of attestation (legacy, used in the old rabo AI)

addTrustSsifErc780Hash2018 (issuer)

set trust for an issuer of this type of attestation (ERC780)

startSessionAutonomous (ssifCreateRequest)

When a session is started 'remote' i.e. not via the website hosted on this webserver, we do not have a sessionID and can not interact via QR-code with a users ID-App. All functions are therefor executed 'autonomously'. We use this function for the initial onboarding of a user in the Id-App, so the Id-App calls this function directly and (if authenticated), will receive a selection of attestations.

startSessionFirstContact (sessionId, ssifCreateRequest)

Use this function to start a session for a first encounter with this user and this attestor

startSession (sessionId, ssifCreateRequest)

Use this function to start a session in all other cases

getSession (sessionId)

offer this as a webservice 'get' endpoint

postSession (sessionId)

offer this as a webservice 'post' endpoint

Parameters

WIP