1.1.0 • Published 2 months ago

eid v1.1.0

Weekly downloads
-
License
MIT
Repository
github
Last release
2 months ago

NPM version stability-stable version maintained maintainer License

eid (previously eid-provider)

This module is developed to enable rapid deployment of identity based authentication for Node.js by creating a common interface to most of the suppliers for official electronic identification and it allows you to mix and match your suppliers. This is a reusability code port of code that I have contributed to teams-app-eid with some smart addons and international support.

Simple to use

Regardless of which backend service you use the basic usage is the same. Some backends require more configuration than others. However the classes expose same interface and responses so code is easy to use. You can read details of the interface or see some more practical examples

const eid = require('eid');

var config = eid.configFactory({clientType: 'frejaeid', enviroment: 'testing'});
var client = eid.clientFactory(config);

client.doRequest({id: '200101011212'}).then(function(endResult){
    console.log(endResult)
});

or the more backwards compatible

const eid = require('eid');

var config = eid.configFactory({clientType: 'frejaeid', enviroment: 'testing'});
var client = eid.clientFactory(config);

client.authRequest('200101011212').then(function(endResult) {
    console.log(endResult)
});

Built-in clients

Clients are the classes that manage communication with the backend services. The library supports a bunch of clients out of the box, but additional clients can easily be added to make sure that the one interface strategy works.

ClientID TypesVendorAuthenticationSigningMarkets
FrejaEIDFreja eIDFreja eID AB:heavy_check_mark::heavy_check_mark::sweden: :denmark: :norway: :finland:
BankIDBankIDFinansiell ID-Teknik AB:heavy_check_mark::heavy_check_mark::sweden:
GRP2Freja eID, BankIDFunktionstjänster/CGI:heavy_check_mark::heavy_check_mark::sweden:
GrandIDFreja eID, BankID, Mobile SiTHSSvensk E-Identitet AB:heavy_check_mark::heavy_check_mark::sweden:
SignicatBankIDSignicat:heavy_check_mark::sweden:
IDKollenBankIDIDkollen i Sverige AB:heavy_check_mark::heavy_check_mark::sweden:

The configuration options should be quite obvious as what they do. If you are unsure your supplier will most probably be able to determine what information you need. Most modules have sane values, certificates etc for most testing services and production services however there is no production credentials and you need to strike an agreement with the services yourself to obtain these.