smartid-calls
Version:
Smart-ID client module for Node.JS with proxy layer
91 lines (90 loc) • 3.4 kB
JavaScript
;
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 :()');
});