New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

sa-kws-node-sdk

Package Overview
Dependencies
Maintainers
1
Versions
22
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

sa-kws-node-sdk - npm Package Compare versions

Comparing version 1.1.6 to 1.1.7

23

lib/kwsSdk.js

@@ -331,5 +331,15 @@ 'use strict';

// validate if the call is coming from KWS API
KwsSdk.prototype.validWebhookSignature = function(secretKey) {
KwsSdk.prototype.validWebhookSignature = function(secretKey, url) {
var self = this;
function calculateSignature(data) {
var dataToSign = JSON.stringify({
secretKey: secretKey,
url: url,
data: data
});
return crypto.createHmac('sha256', secretKey).update(dataToSign).digest('hex');
}
return function(req, res, next) {

@@ -348,13 +358,4 @@ var signature = req.headers['x-kwsapi-signature'];

} else {
var signedData = req.originalUrl;
var currentSignature = calculateSignature(data);
for(var key in data) {
signedData += key;
signedData += data[key];
}
signedData += secretKey;
var currentSignature = crypto.createHmac('sha1', secretKey).update(signedData).digest('hex').toString('base64');
if (currentSignature !== signature) {

@@ -361,0 +362,0 @@ res.sendStatus(401);

{
"name": "sa-kws-node-sdk",
"version": "1.1.6",
"version": "1.1.7",
"description": "KWS Node App SDK",

@@ -5,0 +5,0 @@ "main": "./lib/kwsSdk.js",

@@ -36,13 +36,10 @@ /* globals describe, it, beforeEach, afterEach */

function generateWebhookSignature(originalUrl, data, secretKey) {
var signedData = originalUrl;
function generateWebhookSignature(secretKey, url, data) {
const dataToSign = JSON.stringify({
secretKey,
url,
data,
});
for(var key in data) {
signedData += key;
signedData += data[key];
}
signedData += secretKey;
return crypto.createHmac('sha1', secretKey).update(signedData).digest('hex').toString('base64');
return crypto.createHmac('sha256', secretKey).update(dataToSign).digest('hex');
}

@@ -550,3 +547,4 @@

var secretKey = 'secretTestKey';
var middleware = kwsSdk.validWebhookSignature(secretKey);
var url = 'https://test.example.com/webhook/endpoint';
var middleware = kwsSdk.validWebhookSignature(secretKey, url);
var next = function(){

@@ -563,3 +561,2 @@ should(true).eql(false);

var req = {
originalUrl: '/webhook/endpoint',
body: {

@@ -582,3 +579,3 @@ permissions: {

//now with a valid signature
req.headers['x-kwsapi-signature'] = generateWebhookSignature(req.originalUrl, req.body, secretKey);
req.headers['x-kwsapi-signature'] = generateWebhookSignature(secretKey, url, req.body);
res.sendStatus = function(){

@@ -585,0 +582,0 @@ should(true).eql(false);

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc