Comparing version 0.1.3 to 0.1.4
@@ -1,2 +0,2 @@ | ||
const BankId = require('./lib/bankid'); | ||
const BankId = require('./src/bankid'); | ||
@@ -6,3 +6,4 @@ const pno = process.argv[2]; | ||
bankid.authenticateAndCollect(pno) | ||
bankid.signAndCollect(pno, 'message') | ||
.then(res => { | ||
@@ -15,3 +16,4 @@ console.log(res); | ||
// bankid.authenticate(pno).then(res => { | ||
// bankid.sign(pno, 'foo bar message').then(res => { | ||
// console.log(res); | ||
@@ -18,0 +20,0 @@ |
@@ -11,7 +11,2 @@ 'use strict'; | ||
var certificates = { | ||
testing: '\n-----BEGIN CERTIFICATE----- \nMIID8zCCAtugAwIBAgIRAODr4WfulmxifqSx8UEMbyIwDQYJKoZIhvcNAQEFBQAw eTEkMCIGA1UECgwbRmluYW5zaWVsbCBJRC1UZWtuaWsgQklEIEFCMRowGAYDVQQL DBFJbmZyYXN0cnVjdHVyZSBDQTE1MDMGA1UEAwwsQmFua0lEIFNTTCBSb290IENl cnRpZmljYXRpb24gQXV0aG9yaXR5IFRFU1QwHhcNMDgxMjA0MTMyNTU1WhcNMTkw NjAxMTIxODAwWjB5MSQwIgYDVQQKDBtGaW5hbnNpZWxsIElELVRla25payBCSUQg QUIxGjAYBgNVBAsMEUluZnJhc3RydWN0dXJlIENBMTUwMwYDVQQDDCxCYW5rSUQg U1NMIFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgVEVTVDCCASIwDQYJKoZI hvcNAQEBBQADggEPADCCAQoCggEBAOZh4Y7AkqrGb4LL/HCnqx0AmCdaHXKmJqbt NyIE3ppEnWYR6hGrZcSKRAYkU8ShS0Sf647Bj4tXiVQYg1msIvYgZ8h4QJqkqMYY 2nwJC2cDbtc3TL6ppXQVmIiS6wZewV1GL2xKUEPbKgDPiSgFyh3W1d/QihUwnwoa CGQ/crivftaNTnp4ZqQod9k35WfBy8xdB7cLHFeznfHoP1ZLOHza9bprT0F8YzEa u5CoCMxWPe0sY9aQC8oO3gKyohJrxnxTlDY2cMLXTCiUWIYh+ubybZ3Hqw1YFEmE 4IyiGyT9+LUChFhM0p53eR3GRUU7laxFVbVLuVdbIV0ZRL+0Eb8CAwEAAaN2MHQw DwYDVR0TAQH/BAUwAwEB/zARBgNVHSAECjAIMAYGBCoDBAUwDgYDVR0PAQH/BAQD AgEGMB0GA1UdDgQWBBSlaUGnPvmNu9R9LsDgulauQCwrvTAfBgNVHSMEGDAWgBSl aUGnPvmNu9R9LsDgulauQCwrvTANBgkqhkiG9w0BAQUFAAOCAQEAY1zWz1oV3ZMC 78uhGYA+j6Zktps9IXzIw3v1T3wtYclUoJI594w7vmTMqFY9z2mnms+gKTxCO/70 MpCNMgKSLj2bGsrMWHCvnDWpmYY5ZkDP2GWB6aqy+ehRmlYjUbPhjD44Xfjh/Stq 1yXCUfesLUHZDcBxpDspOwldWl7rhkE7QPj5hdSP85l04oIcnYiMyOPTt+4LNYN+ ncb0a/ZkJcUL7Q9NGJfmEhAmHcCpK8j1coSh36D8JMeSblVTBEWpnBMP5zXKAkzf OzZLGyy9RnV51NhRMRnQtDOFCZ9vQuuyCE/TZeOp4IgZctEvt2Aab23fx5jWBbzC EtEmq/VqaQ==\n-----END CERTIFICATE-----\n\t', | ||
production: '\n-----BEGIN CERTIFICATE-----\nMIID6jCCAtKgAwIBAgIQSvZNAy61UF6qO2zWqvN/3zANBgkqhkiG9w0BAQUFADB0 MSQwIgYDVQQKDBtGaW5hbnNpZWxsIElELVRla25payBCSUQgQUIxGjAYBgNVBAsM EUluZnJhc3RydWN0dXJlIENBMTAwLgYDVQQDDCdCYW5rSUQgU1NMIFJvb3QgQ2Vy dGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDgxMjE5MDg1OTAxWhcNMTkwNjAxMjE0 NTAwWjB0MSQwIgYDVQQKDBtGaW5hbnNpZWxsIElELVRla25payBCSUQgQUIxGjAY BgNVBAsMEUluZnJhc3RydWN0dXJlIENBMTAwLgYDVQQDDCdCYW5rSUQgU1NMIFJv b3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggEiMA0GCSqGSIb3DQEBAQUAA4IB DwAwggEKAoIBAQCzqv7Rn43VFyTGicb+qjSGNeJga6GWQkMEXn9NvqCfknpaz4kf RbNHoQvtmw7CsiL83hMNU5y0EI6wC45Whn8ZXJ5/eqj1zBSu7QqKctEbMjWf6sf2 VUyE7lns6FxRFAgbhM2RS5LnWCfRsSgjKLXbJk7S2O/qVWdlxU1fAYfjbja1xhQm jArtvCYv9D2f8MBgH9sOsabVdLEKtiXj9NpBiXIi+c9DUpzvY1qnY02dsSudVwm3 IwJlEljLfjcBQDtJlm/7TbKsnqvW8s+NT6JBputUZT8Mqsv63meEbhxcq6vNcNKZ SgeHZDmr9lY2hmmVK9TcgfWHHkymUAWTGRQzAgMBAAGjeDB2MA8GA1UdEwEB/wQF MAMBAf8wEwYDVR0gBAwwCjAIBgYqhXBOAQQwDgYDVR0PAQH/BAQDAgEGMB0GA1Ud DgQWBBS2GCMB5GeakO2/WOqKJJXGAop6tTAfBgNVHSMEGDAWgBS2GCMB5GeakO2/ WOqKJJXGAop6tTANBgkqhkiG9w0BAQUFAAOCAQEAe4vukBbEjzsYC8Mv1xLcUQVD gYTgnqvP8Lr8yABfNfhh+iIoFK7QvVD3Z+bIBnGEGutB5K78UTadKINittSKA4T4 3Uy/p/blqew8Sqhv0I5MVlW71++HiPth4xwHAoxfe4oyTQaJRgls1CCsCBnuT9IF 6nGUNziC46RqIlhiY7zDzROtBWjqJzq+QvO07s73m+GPk8kZVwQrtyFT2IuYMH23 od/sRe2W5GClo2d62SBrzywYJZAaBNY9yl6weMdqWRqJz0mYZHrvLCQ1xrq4nvpL bMDfs1wD3vctSXLBFfBU9qw+CYTBN4UJ7BHQw1r2KGeAjm5grkL7Z7lQzTWSqw==\n-----END CERTIFICATE-----\n\t' | ||
}; | ||
var BankId = function () { | ||
@@ -25,4 +20,19 @@ function BankId() { | ||
refreshInterval: 1000, | ||
production: false | ||
production: false, | ||
// defaults for test environment | ||
pfx: path.resolve(__dirname, '../cert/', 'FPTestcert2_20150818_102329.pfx'), | ||
passphrase: 'qwerty123', | ||
// certificate is provided by package by default | ||
ca: undefined | ||
}, options); | ||
if (this.options.production) { | ||
if (!options.pfx || !options.passphrase) { | ||
throw Error('BankId requires the pfx and passphrase in production mode'); | ||
} | ||
} | ||
if (this.options.ca === undefined) { | ||
this.options.ca = this.options.production ? path.resolve(__dirname, '../cert/', 'prod.ca') : path.resolve(__dirname, '../cert/', 'test.ca'); | ||
} | ||
} | ||
@@ -37,3 +47,5 @@ | ||
_this.getClient().then(function (client) { | ||
client.Authenticate({ personalNumber: pno }, function (err, res) { | ||
client.Authenticate({ | ||
personalNumber: pno | ||
}, function (err, res) { | ||
if (callback) callback(err, res); | ||
@@ -47,8 +59,26 @@ | ||
}, { | ||
key: 'sign', | ||
value: function sign(pno, message, callback) { | ||
var _this2 = this; | ||
return new Promise(function (resolve, reject) { | ||
_this2.getClient().then(function (client) { | ||
client.Sign({ | ||
personalNumber: pno, | ||
userVisibleData: new Buffer(message).toString('base64') | ||
}, function (err, res) { | ||
if (callback) callback(err, res); | ||
if (err) reject(err);else resolve(res); | ||
}); | ||
}, reject); | ||
}); | ||
} | ||
}, { | ||
key: 'collect', | ||
value: function collect(orderRef, callback) { | ||
var _this2 = this; | ||
var _this3 = this; | ||
return new Promise(function (resolve, reject) { | ||
_this2.getClient().then(function (client) { | ||
_this3.getClient().then(function (client) { | ||
client.Collect(orderRef, function (err, res) { | ||
@@ -65,10 +95,24 @@ if (callback) callback(err, res); | ||
value: function authenticateAndCollect(pno) { | ||
var _this3 = this; | ||
return this._methodAndCollect(this.authenticate.bind(this), pno); | ||
} | ||
}, { | ||
key: 'signAndCollect', | ||
value: function signAndCollect(pno, message) { | ||
return this._methodAndCollect(this.sign.bind(this), pno, message); | ||
} | ||
}, { | ||
key: '_methodAndCollect', | ||
value: function _methodAndCollect(method) { | ||
var _this4 = this; | ||
for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { | ||
args[_key - 1] = arguments[_key]; | ||
} | ||
return new Promise(function (resolve, reject) { | ||
_this3.authenticate(pno).then(function (_ref) { | ||
method.apply(undefined, args).then(function (_ref) { | ||
var orderRef = _ref.orderRef; | ||
var timer = setInterval(function () { | ||
_this3.collect(orderRef).then(function (res) { | ||
_this4.collect(orderRef).then(function (res) { | ||
if (res.progressStatus === 'COMPLETE') { | ||
@@ -82,3 +126,3 @@ clearInterval(timer); | ||
}); | ||
}, _this3.options.refreshInterval); | ||
}, _this4.options.refreshInterval); | ||
}, reject); | ||
@@ -90,12 +134,12 @@ }); | ||
value: function getClient() { | ||
var _this4 = this; | ||
var _this5 = this; | ||
return new Promise(function (resolve, reject) { | ||
if (_this4.client === undefined) { | ||
_this4._createClient().then(function (client) { | ||
_this4.client = client; | ||
if (_this5.client === undefined) { | ||
_this5._createClient().then(function (client) { | ||
_this5.client = client; | ||
resolve(client); | ||
}, reject); | ||
} else { | ||
resolve(_this4.client); | ||
resolve(_this5.client); | ||
} | ||
@@ -107,7 +151,9 @@ }); | ||
value: function _createClient() { | ||
var pfx = fs.readFileSync(path.resolve(__dirname, '../files/', 'FPTestcert2_20150818_102329.pfx')); | ||
var passphrase = 'qwerty123'; | ||
var ca = certificates.testing; | ||
var opts = this.options; | ||
var wsdlUrl = 'https://appapi.test.bankid.com/rp/v4?wsdl'; | ||
var ca = Buffer.isBuffer(opts.ca) ? opts.ca : fs.readFileSync(opts.ca, 'utf-8'); | ||
var pfx = Buffer.isBuffer(opts.pfx) ? opts.pfx : fs.readFileSync(opts.pfx); | ||
var passphrase = opts.passphrase; | ||
var wsdlUrl = opts.production ? 'https://appapi.bankid.com/rp/v4?wsdl' : 'https://appapi.test.bankid.com/rp/v4?wsdl'; | ||
var wsdlOptions = { pfx: pfx, passphrase: passphrase, ca: ca }; | ||
@@ -114,0 +160,0 @@ |
{ | ||
"name": "bankid", | ||
"description": "", | ||
"version": "0.1.3", | ||
"keywords": ["bankid", "authentication", "backend"], | ||
"version": "0.1.4", | ||
"main": "lib/bankid.js", | ||
@@ -6,0 +7,0 @@ "repository": { |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Native code
Supply chain riskContains native code (e.g., compiled binaries or shared libraries). Including native code can obscure malicious behavior.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Native code
Supply chain riskContains native code (e.g., compiled binaries or shared libraries). Including native code can obscure malicious behavior.
Found 1 instance in 1 package
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
Long strings
Supply chain riskContains long string literals, which may be a sign of obfuscated or packed code.
Found 1 instance in 1 package
78346
9
172
1
1