Socket
Socket
Sign inDemoInstall

@vonage/sms

Package Overview
Dependencies
Maintainers
45
Versions
47
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@vonage/sms - npm Package Compare versions

Comparing version 1.7.0 to 1.8.0

4

dist/sms.d.ts
import { Client } from '@vonage/server-client';
import { SMSMessages } from './interfaces/index';
import { SMSParams } from './types/index';
import { AlgorithmTypes } from '@vonage/auth';
export declare class SMS extends Client {
send(params?: SMSParams): Promise<SMSMessages>;
verifySignature(signature: string, params: string | {
[key: string]: string;
}, signatureSecret: string, algorithm: AlgorithmTypes): boolean;
}
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });

@@ -7,2 +10,4 @@ exports.SMS = void 0;

const index_2 = require("./enums/index");
const crypto_1 = __importDefault(require("crypto"));
const auth_1 = require("@vonage/auth");
class SMS extends server_client_1.Client {

@@ -23,4 +28,42 @@ async send(params) {

}
verifySignature(signature, params, signatureSecret, algorithm) {
params = params || {};
let signedQuery = '';
params = JSON.parse(JSON.stringify(params));
if (params.sig) {
delete params.sig;
}
Object.keys(params)
.sort()
.forEach((key) => {
// replace & and = with _
signedQuery += '&' + key + '=' + params[key].replace(/[&=]/g, '_');
});
const hashMap = {};
hashMap[auth_1.AlgorithmTypes.md5hmac] = 'md5';
hashMap[auth_1.AlgorithmTypes.sha1hmac] = 'sha1';
hashMap[auth_1.AlgorithmTypes.sha256hmac] = 'sha256';
hashMap[auth_1.AlgorithmTypes.sha512hmac] = 'sha512';
let hash = '';
switch (algorithm) {
case auth_1.AlgorithmTypes.md5hash:
signedQuery += signatureSecret;
hash = crypto_1.default.createHash('md5').update(signedQuery).digest('hex');
break;
case auth_1.AlgorithmTypes.md5hmac:
case auth_1.AlgorithmTypes.sha1hmac:
case auth_1.AlgorithmTypes.sha256hmac:
case auth_1.AlgorithmTypes.sha512hmac:
hash = crypto_1.default
.createHmac(hashMap[algorithm], signatureSecret)
.update(signedQuery)
.digest('hex');
break;
default:
throw new Error(`Unknown signature algorithm: ${algorithm}. Expected: md5hash, md5, sha1, sha256, or sha512`);
}
return signature.toUpperCase() === hash.toUpperCase();
}
}
exports.SMS = SMS;
//# sourceMappingURL=sms.js.map

6

package.json
{
"name": "@vonage/sms",
"version": "1.7.0",
"version": "1.8.0",
"description": "Vonage SMS API SDK package",

@@ -30,7 +30,7 @@ "homepage": "https://github.com/vonage/vonage-node-sdk/tree/master/packages/sms#readme",

"dependencies": {
"@vonage/server-client": "^1.7.0",
"@vonage/server-client": "^1.8.0",
"debug": "^4.3.4"
},
"devDependencies": {
"@vonage/auth": "^1.5.0",
"@vonage/auth": "^1.6.0",
"nock": "^13.3.1"

@@ -37,0 +37,0 @@ },

Sorry, the diff of this file is not supported yet

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