UNPKG

smartid-calls

Version:

Smart-ID client module for Node.JS with proxy layer

91 lines (90 loc) 3.4 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var authhash_1 = require("./authhash"); var index_1 = require("./index"); var smartauth = new index_1.default({ algorithm: 'SHA256', host: 'https://sid.demo.sk.ee/smart-id-rp/v1', requestParams: { relyingPartyUUID: '00000000-0000-0000-0000-000000000000', relyingPartyName: 'DEMO', certificateLevel: 'QUALIFIED' } }); function _test(country, idNumber, expectedResult) { return new Promise(function (resolve, reject) { var fail = function (result) { return reject({ country: country, idNumber: idNumber, result: result }); }; var done = function (result) { return resolve({ country: country, idNumber: idNumber, result: result }); }; // console.log('Running test for: ' + country + ' - ' + idNumber + '. Expected result is: ' + expectedResult); smartauth.authenticate(country, idNumber, 'Hello World').then(function (session) { if (!session.verificationCode) return fail('Did not get verificationCode'); session.pollStatus().then(function (response) { if (response.result.endResult === expectedResult) { done(response.result); } else { fail(response.result.endResult); } }).catch(function (err) { if (err.message === expectedResult) { done(err.message); } else { fail(err.message); } }); }).catch(function (err) { fail(err.message); }); }); } function _sign(docNumber, expectedResult) { return new Promise(function (resolve, reject) { var fail = function (result) { return reject({ docNumber: docNumber, expectedResult: expectedResult }); }; var done = function (result) { return resolve({ docNumber: docNumber, expectedResult: expectedResult }); }; var result; authhash_1.default.generateRandomHash('SHA256').then(function (hash) { var digest = hash.digest; smartauth.sign(docNumber, digest, 'Signing!').then(function (session) { if (!session.verificationCode) { return fail('Did not get verificationCode'); } ; session.pollStatus().then(function (response) { if (response.result.endResult === expectedResult) { done(response.result); } else { fail(response.result.endResult); } }).catch(function (err) { if (err.message === expectedResult) { done(err.message); } else { fail(err.message); } }); }).catch(function (err) { fail(err.message); }); }); }); } Promise.all([ // _sign('PNOLV-010101-10006-SGT7-Q', 'OK'), _test('EE', '10101010005', 'OK'), ]).then(function (results) { console.log('Tests OK! :)'); }).catch(function (e) { console.log('Tests failed :()'); });