@bitgo-beta/sdk-hmac 1.0.0-alpha.166 → 1.0.0-alpha.167
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/hmac.d.ts +6 -5
- package/dist/src/hmac.d.ts.map +1 -1
- package/dist/src/hmac.js +18 -9
- package/dist/src/types.d.ts +10 -10
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/types.js +1 -1
- package/package.json +3 -3
package/dist/src/hmac.d.ts
CHANGED
|
@@ -14,19 +14,20 @@ export declare function calculateHMAC(key: string | BinaryLike | KeyObject, mess
|
|
|
14
14
|
* @param timestamp request timestamp from `Date.now()`
|
|
15
15
|
* @param statusCode Only set for HTTP responses, leave blank for requests
|
|
16
16
|
* @param method request method
|
|
17
|
-
* @
|
|
17
|
+
* @param authVersion authentication version (2 or 3)
|
|
18
|
+
* @returns {string | Buffer}
|
|
18
19
|
*/
|
|
19
|
-
export declare function calculateHMACSubject({ urlPath, text, timestamp, statusCode, method, authVersion, }: CalculateHmacSubjectOptions):
|
|
20
|
+
export declare function calculateHMACSubject<T extends string | Buffer = string>({ urlPath, text, timestamp, statusCode, method, authVersion, }: CalculateHmacSubjectOptions<T>): T;
|
|
20
21
|
/**
|
|
21
22
|
* Calculate the HMAC for an HTTP request
|
|
22
23
|
*/
|
|
23
|
-
export declare function calculateRequestHMAC({ url: urlPath, text, timestamp, token, method, authVersion, }: CalculateRequestHmacOptions): string;
|
|
24
|
+
export declare function calculateRequestHMAC<T extends string | Buffer = string>({ url: urlPath, text, timestamp, token, method, authVersion, }: CalculateRequestHmacOptions<T>): string;
|
|
24
25
|
/**
|
|
25
26
|
* Calculate request headers with HMAC
|
|
26
27
|
*/
|
|
27
|
-
export declare function calculateRequestHeaders({ url, text, token, method, authVersion, }: CalculateRequestHeadersOptions): RequestHeaders;
|
|
28
|
+
export declare function calculateRequestHeaders<T extends string | Buffer = string>({ url, text, token, method, authVersion, }: CalculateRequestHeadersOptions<T>): RequestHeaders;
|
|
28
29
|
/**
|
|
29
30
|
* Verify the HMAC for an HTTP response
|
|
30
31
|
*/
|
|
31
|
-
export declare function verifyResponse({ url: urlPath, statusCode, text, timestamp, token, hmac, method, authVersion, }: VerifyResponseOptions): VerifyResponseInfo
|
|
32
|
+
export declare function verifyResponse<T extends string | Buffer = string>({ url: urlPath, statusCode, text, timestamp, token, hmac, method, authVersion, }: VerifyResponseOptions<T>): VerifyResponseInfo<T>;
|
|
32
33
|
//# sourceMappingURL=hmac.d.ts.map
|
package/dist/src/hmac.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hmac.d.ts","sourceRoot":"","sources":["../../src/hmac.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAc,KAAK,SAAS,EAAE,MAAM,QAAQ,CAAC;AAGrE,OAAO,EACL,2BAA2B,EAC3B,8BAA8B,EAC9B,2BAA2B,EAC3B,cAAc,EACd,kBAAkB,EAClB,qBAAqB,EACtB,MAAM,SAAS,CAAC;AAEjB;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,EAAE,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,MAAM,CAExG;AAED
|
|
1
|
+
{"version":3,"file":"hmac.d.ts","sourceRoot":"","sources":["../../src/hmac.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAc,KAAK,SAAS,EAAE,MAAM,QAAQ,CAAC;AAGrE,OAAO,EACL,2BAA2B,EAC3B,8BAA8B,EAC9B,2BAA2B,EAC3B,cAAc,EACd,kBAAkB,EAClB,qBAAqB,EACtB,MAAM,SAAS,CAAC;AAEjB;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,EAAE,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,MAAM,CAExG;AAED;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,EACvE,OAAO,EACP,IAAI,EACJ,SAAS,EACT,UAAU,EACV,MAAM,EACN,WAAW,GACZ,EAAE,2BAA2B,CAAC,CAAC,CAAC,GAAG,CAAC,CA0BpC;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,EACvE,GAAG,EAAE,OAAO,EACZ,IAAI,EACJ,SAAS,EACT,KAAK,EACL,MAAM,EACN,WAAW,GACZ,EAAE,2BAA2B,CAAC,CAAC,CAAC,GAAG,MAAM,CAKzC;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,EAC1E,GAAG,EACH,IAAI,EACJ,KAAK,EACL,MAAM,EACN,WAAW,GACZ,EAAE,8BAA8B,CAAC,CAAC,CAAC,GAAG,cAAc,CAYpD;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,EACjE,GAAG,EAAE,OAAO,EACZ,UAAU,EACV,IAAI,EACJ,SAAS,EACT,KAAK,EACL,IAAI,EACJ,MAAM,EACN,WAAW,GACZ,EAAE,qBAAqB,CAAC,CAAC,CAAC,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAyBlD"}
|
package/dist/src/hmac.js
CHANGED
|
@@ -57,7 +57,8 @@ function calculateHMAC(key, message) {
|
|
|
57
57
|
* @param timestamp request timestamp from `Date.now()`
|
|
58
58
|
* @param statusCode Only set for HTTP responses, leave blank for requests
|
|
59
59
|
* @param method request method
|
|
60
|
-
* @
|
|
60
|
+
* @param authVersion authentication version (2 or 3)
|
|
61
|
+
* @returns {string | Buffer}
|
|
61
62
|
*/
|
|
62
63
|
function calculateHMACSubject({ urlPath, text, timestamp, statusCode, method, authVersion, }) {
|
|
63
64
|
/* Normalize legacy 'del' to 'delete' for backward compatibility */
|
|
@@ -66,16 +67,24 @@ function calculateHMACSubject({ urlPath, text, timestamp, statusCode, method, au
|
|
|
66
67
|
}
|
|
67
68
|
const urlDetails = urlLib.parse(urlPath);
|
|
68
69
|
const queryPath = urlDetails.query && urlDetails.query.length > 0 ? urlDetails.path : urlDetails.pathname;
|
|
70
|
+
let prefixedText;
|
|
69
71
|
if (statusCode !== undefined && isFinite(statusCode) && Number.isInteger(statusCode)) {
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
72
|
+
prefixedText =
|
|
73
|
+
authVersion === 3
|
|
74
|
+
? [method.toUpperCase(), timestamp, queryPath, statusCode].join('|')
|
|
75
|
+
: [timestamp, queryPath, statusCode].join('|');
|
|
74
76
|
}
|
|
75
|
-
|
|
76
|
-
|
|
77
|
+
else {
|
|
78
|
+
prefixedText =
|
|
79
|
+
authVersion === 3
|
|
80
|
+
? [method.toUpperCase(), timestamp, '3.0', queryPath].join('|')
|
|
81
|
+
: [timestamp, queryPath].join('|');
|
|
77
82
|
}
|
|
78
|
-
|
|
83
|
+
const isBuffer = Buffer.isBuffer(text);
|
|
84
|
+
if (isBuffer) {
|
|
85
|
+
return Buffer.concat([Buffer.from(prefixedText + '|', 'utf-8'), text]);
|
|
86
|
+
}
|
|
87
|
+
return [prefixedText, text].join('|');
|
|
79
88
|
}
|
|
80
89
|
/**
|
|
81
90
|
* Calculate the HMAC for an HTTP request
|
|
@@ -126,4 +135,4 @@ function verifyResponse({ url: urlPath, statusCode, text, timestamp, token, hmac
|
|
|
126
135
|
verificationTime: now,
|
|
127
136
|
};
|
|
128
137
|
}
|
|
129
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
138
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG1hYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9obWFjLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBa0JBLHNDQUVDO0FBWUQsb0RBaUNDO0FBS0Qsb0RBWUM7QUFLRCwwREFrQkM7QUFLRCx3Q0FrQ0M7QUFoSkQsbUNBQXFFO0FBQ3JFLDRDQUE4QjtBQUM5Qix1REFBeUM7QUFVekM7Ozs7O0dBS0c7QUFDSCxTQUFnQixhQUFhLENBQUMsR0FBb0MsRUFBRSxPQUE0QjtJQUM5RixPQUFPLElBQUEsbUJBQVUsRUFBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUNqRSxDQUFDO0FBRUQ7Ozs7Ozs7OztHQVNHO0FBQ0gsU0FBZ0Isb0JBQW9CLENBQXFDLEVBQ3ZFLE9BQU8sRUFDUCxJQUFJLEVBQ0osU0FBUyxFQUNULFVBQVUsRUFDVixNQUFNLEVBQ04sV0FBVyxHQUNvQjtJQUMvQixtRUFBbUU7SUFDbkUsSUFBSSxNQUFNLEtBQUssS0FBSyxFQUFFLENBQUM7UUFDckIsTUFBTSxHQUFHLFFBQVEsQ0FBQztJQUNwQixDQUFDO0lBQ0QsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN6QyxNQUFNLFNBQVMsR0FBRyxVQUFVLENBQUMsS0FBSyxJQUFJLFVBQVUsQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQztJQUUxRyxJQUFJLFlBQW9CLENBQUM7SUFDekIsSUFBSSxVQUFVLEtBQUssU0FBUyxJQUFJLFFBQVEsQ0FBQyxVQUFVLENBQUMsSUFBSSxNQUFNLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxF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QztJQUU1RCxrRkFBa0Y7SUFDbEYsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO0lBQ3ZCLE1BQU0sMEJBQTBCLEdBQUcsU0FBUyxJQUFJLEdBQUcsR0FBRyxJQUFJLEdBQUcsRUFBRSxHQUFHLENBQUMsSUFBSSxTQUFTLElBQUksR0FBRyxDQUFDO0lBRXhGLGdDQUFnQztJQUNoQyxPQUFPO1FBQ0wsT0FBTyxFQUFFLFlBQVksS0FBSyxJQUFJO1FBQzlCLFlBQVk7UUFDWixnQkFBZ0I7UUFDaEIsMEJBQTBCO1FBQzFCLGdCQUFnQixFQUFFLEdBQUc7S0FDdEIsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0eXBlIEJpbmFyeUxpa2UsIGNyZWF0ZUhtYWMsIHR5cGUgS2V5T2JqZWN0IH0gZnJvbSAnY3J5cHRvJztcbmltcG9ydCAqIGFzIHVybExpYiBmcm9tICd1cmwnO1xuaW1wb3J0ICogYXMgc2pjbCBmcm9tICdAYml0Z28tYmV0YS9zamNsJztcbmltcG9ydCB7XG4gIENhbGN1bGF0ZUhtYWNTdWJqZWN0T3B0aW9ucyxcbiAgQ2FsY3VsYXRlUmVxdWVzdEhlYWRlcnNPcHRpb25zLFxuICBDYWxjdWxhdGVSZXF1ZXN0SG1hY09wdGlvbnMsXG4gIFJlcXVlc3RIZWFkZXJzLFxuICBWZXJpZnlSZXNwb25zZUluZm8sXG4gIFZlcmlmeVJlc3BvbnNlT3B0aW9ucyxcbn0gZnJvbSAnLi90eXBlcyc7XG5cbi8qKlxuICogQ2FsY3VsYXRlIHRoZSBITUFDIGZvciB0aGUgZ2l2ZW4ga2V5IGFuZCBtZXNzYWdlXG4gKiBAcGFyYW0ga2V5IHtTdHJpbmd9IC0gdGhlIGtleSB0byB1c2UgZm9yIHRoZSBITUFDXG4gKiBAcGFyYW0gbWVzc2FnZSB7U3RyaW5nfSAtIHRoZSBhY3R1YWwgbWVzc2FnZSB0byBITUFDXG4gKiBAcmV0dXJucyB7Kn0gLSB0aGUgcmVzdWx0IG9mIHRoZSBITUFDIG9wZXJhdGlvblxuICovXG5leHBvcnQgZnVuY3Rpb24gY2FsY3VsYXRlSE1BQyhrZXk6IHN0cmluZyB8IEJpbmFyeUxpa2UgfCBLZXlPYmplY3QsIG1lc3NhZ2U6IHN0cmluZyB8IEJpbmFyeUxpa2UpOiBzdHJpbmcge1xuICByZXR1cm4gY3JlYXRlSG1hYygnc2hhMjU2Jywga2V5KS51cGRhdGUobWVzc2FnZSkuZGlnZXN0KCdoZXgnKTtcbn1cblxuLyoqXG4gKiBDYWxjdWxhdGUgdGhlIHN1YmplY3Qgc3RyaW5nIHRoYXQgaXMgdG8gYmUgSE1BQydlZCBmb3IgYSBIVFRQIHJlcXVlc3Qgb3IgcmVzcG9uc2VcbiAqIEBwYXJhbSB1cmxQYXRoIHJlcXVlc3QgdXJsLCBpbmNsdWRpbmcgcXVlcnkgcGFyYW1zXG4gKiBAcGFyYW0gdGV4dCByZXF1ZXN0IGJvZHkgdGV4dFxuICogQHBhcmFtIHRpbWVzdGFtcCByZXF1ZXN0IHRpbWVzdGFtcCBmcm9tIGBEYXRlLm5vdygpYFxuICogQHBhcmFtIHN0YXR1c0NvZGUgT25seSBzZXQgZm9yIEhUVFAgcmVzcG9uc2VzLCBsZWF2ZSBibGFuayBmb3IgcmVxdWVzdHNcbiAqIEBwYXJhbSBtZXRob2QgcmVxdWVzdCBtZXRob2RcbiAqIEBwYXJhbSBhdXRoVmVyc2lvbiBhdXRoZW50aWNhdGlvbiB2ZXJzaW9uICgyIG9yIDMpXG4gKiBAcmV0dXJucyB7c3RyaW5nIHwgQnVmZmVyfVxuICovXG5leHBvcnQgZnVuY3Rpb24gY2FsY3VsYXRlSE1BQ1N1YmplY3Q8VCBleHRlbmRzIHN0cmluZyB8IEJ1ZmZlciA9IHN0cmluZz4oe1xuICB1cmxQYXRoLFxuICB0ZXh0LFxuICB0aW1lc3RhbXAsXG4gIHN0YXR1c0NvZGUsXG4gIG1ldGhvZCxcbiAgYXV0aFZlcnNpb24sXG59OiBDYWxjdWxhdGVIbWFjU3ViamVjdE9wdGlvbnM8VD4pOiBUIHtcbiAgLyogTm9ybWFsaXplIGxlZ2FjeSAnZGVsJyB0byAnZGVsZXRlJyBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eSAqL1xuICBpZiAobWV0aG9kID09PSAnZGVsJykge1xuICAgIG1ldGhvZCA9ICdkZWxldGUnO1xuICB9XG4gIGNvbnN0IHVybERldGFpbHMgPSB1cmxMaWIucGFyc2UodXJsUGF0aCk7XG4gIGNvbnN0IHF1ZXJ5UGF0aCA9IHVybERldGFpbHMucXVlcnkgJiYgdXJsRGV0YWlscy5xdWVyeS5sZW5ndGggPiAwID8gdXJsRGV0YWlscy5wYXRoIDogdXJsRGV0YWlscy5wYXRobmFtZTtcblxuICBsZXQgcHJlZml4ZWRUZXh0OiBzdHJpbmc7XG4gIGlmIChzdGF0dXNDb2RlICE9PSB1bmRlZmluZWQgJiYgaXNGaW5pdGUoc3RhdHVzQ29kZSkgJiYgTnVtYmVyLmlzSW50ZWdlcihzdGF0dXNDb2RlKSkge1xuICAgIHByZWZpeGVkVGV4dCA9XG4gICAgICBhdXRoVmVyc2lvbiA9PT0gM1xuICAgICAgICA/IFttZXRob2QudG9VcHBlckNhc2UoKSwgdGltZXN0YW1wLCBxdWVyeVBhdGgsIHN0YXR1c0NvZGVdLmpvaW4oJ3wnKVxuICAgICAgICA6IFt0aW1lc3RhbXAsIHF1ZXJ5UGF0aCwgc3RhdHVzQ29kZV0uam9pbignfCcpO1xuICB9IGVsc2Uge1xuICAgIHByZWZpeGVkVGV4dCA9XG4gICAgICBhdXRoVmVyc2lvbiA9PT0gM1xuICAgICAgICA/IFttZXRob2QudG9VcHBlckNhc2UoKSwgdGltZXN0YW1wLCAnMy4wJywgcXVlcnlQYXRoXS5qb2luKCd8JylcbiAgICAgICAgOiBbdGltZXN0YW1wLCBxdWVyeVBhdGhdLmpvaW4oJ3wnKTtcbiAgfVxuXG4gIGNvbnN0IGlzQnVmZmVyID0gQnVmZmVyLmlzQnVmZmVyKHRleHQpO1xuICBpZiAoaXNCdWZmZXIpIHtcbiAgICByZXR1cm4gQnVmZmVyLmNvbmNhdChbQnVmZmVyLmZyb20ocHJlZml4ZWRUZXh0ICsgJ3wnLCAndXRmLTgnKSwgdGV4dF0pIGFzIFQ7XG4gIH1cbiAgcmV0dXJuIFtwcmVmaXhlZFRleHQsIHRleHRdLmpvaW4oJ3wnKSBhcyBUO1xufVxuXG4vKipcbiAqIENhbGN1bGF0ZSB0aGUgSE1BQyBmb3IgYW4gSFRUUCByZXF1ZXN0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjYWxjdWxhdGVSZXF1ZXN0SE1BQzxUIGV4dGVuZHMgc3RyaW5nIHwgQnVmZmVyID0gc3RyaW5nPih7XG4gIHVybDogdXJsUGF0aCxcbiAgdGV4dCxcbiAgdGltZXN0YW1wLFxuICB0b2tlbixcbiAgbWV0aG9kLFxuICBhdXRoVmVyc2lvbixcbn06IENhbGN1bGF0ZVJlcXVlc3RIbWFjT3B0aW9uczxUPik6IHN0cmluZyB7XG4gIGNvbnN0IHNpZ25hdHVyZVN1YmplY3QgPSBjYWxjdWxhdGVITUFDU3ViamVjdCh7IHVybFBhdGgsIHRleHQsIHRpbWVzdGFtcCwgbWV0aG9kLCBhdXRoVmVyc2lvbiB9KTtcblxuICAvLyBjYWxjdWxhdGUgdGhlIEhNQUNcbiAgcmV0dXJuIGNhbGN1bGF0ZUhNQUModG9rZW4sIHNpZ25hdHVyZVN1YmplY3QpO1xufVxuXG4vKipcbiAqIENhbGN1bGF0ZSByZXF1ZXN0IGhlYWRlcnMgd2l0aCBITUFDXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjYWxjdWxhdGVSZXF1ZXN0SGVhZGVyczxUIGV4dGVuZHMgc3RyaW5nIHwgQnVmZmVyID0gc3RyaW5nPih7XG4gIHVybCxcbiAgdGV4dCxcbiAgdG9rZW4sXG4gIG1ldGhvZCxcbiAgYXV0aFZlcnNpb24sXG59OiBDYWxjdWxhdGVSZXF1ZXN0SGVhZGVyc09wdGlvbnM8VD4pOiBSZXF1ZXN0SGVhZGVycyB7XG4gIGNvbnN0IHRpbWVzdGFtcCA9IERhdGUubm93KCk7XG4gIGNvbnN0IGhtYWMgPSBjYWxjdWxhdGVSZXF1ZXN0SE1BQyh7IHVybCwgdGV4dCwgdGltZXN0YW1wLCB0b2tlbiwgbWV0aG9kLCBhdXRoVmVyc2lvbiB9KTtcblxuICAvLyBjYWxjdWxhdGUgdGhlIFNIQTI1NiBoYXNoIG9mIHRoZSB0b2tlblxuICBjb25zdCBoYXNoRGlnZXN0ID0gc2pjbC5oYXNoLnNoYTI1Ni5oYXNoKHRva2VuKTtcbiAgY29uc3QgdG9rZW5IYXNoID0gc2pjbC5jb2RlYy5oZXguZnJvbUJpdHMoaGFzaERpZ2VzdCk7XG4gIHJldHVybiB7XG4gICAgaG1hYyxcbiAgICB0aW1lc3RhbXAsXG4gICAgdG9rZW5IYXNoLFxuICB9O1xufVxuXG4vKipcbiAqIFZlcmlmeSB0aGUgSE1BQyBmb3IgYW4gSFRUUCByZXNwb25zZVxuICovXG5leHBvcnQgZnVuY3Rpb24gdmVyaWZ5UmVzcG9uc2U8VCBleHRlbmRzIHN0cmluZyB8IEJ1ZmZlciA9IHN0cmluZz4oe1xuICB1cmw6IHVybFBhdGgsXG4gIHN0YXR1c0NvZGUsXG4gIHRleHQsXG4gIHRpbWVzdGFtcCxcbiAgdG9rZW4sXG4gIGhtYWMsXG4gIG1ldGhvZCxcbiAgYXV0aFZlcnNpb24sXG59OiBWZXJpZnlSZXNwb25zZU9wdGlvbnM8VD4pOiBWZXJpZnlSZXNwb25zZUluZm88VD4ge1xuICBjb25zdCBzaWduYXR1cmVTdWJqZWN0ID0gY2FsY3VsYXRlSE1BQ1N1YmplY3Qoe1xuICAgIHVybFBhdGgsXG4gICAgdGV4dCxcbiAgICB0aW1lc3RhbXAsXG4gICAgc3RhdHVzQ29kZSxcbiAgICBtZXRob2QsXG4gICAgYXV0aFZlcnNpb24sXG4gIH0pO1xuXG4gIC8vIGNhbGN1bGF0ZSB0aGUgSE1BQ1xuICBjb25zdCBleHBlY3RlZEhtYWMgPSBjYWxjdWxhdGVITUFDKHRva2VuLCBzaWduYXR1cmVTdWJqZWN0KTtcblxuICAvLyBkZXRlcm1pbmUgaWYgdGhlIHJlc3BvbnNlIGlzIHN0aWxsIHdpdGhpbiB0aGUgdmFsaWRpdHkgd2luZG93ICg1IG1pbnV0ZSB3aW5kb3cpXG4gIGNvbnN0IG5vdyA9IERhdGUubm93KCk7XG4gIGNvbnN0IGlzSW5SZXNwb25zZVZhbGlkaXR5V2luZG93ID0gdGltZXN0YW1wID49IG5vdyAtIDEwMDAgKiA2MCAqIDUgJiYgdGltZXN0YW1wIDw9IG5vdztcblxuICAvLyB2ZXJpZnkgdGhlIEhNQUMgYW5kIHRpbWVzdGFtcFxuICByZXR1cm4ge1xuICAgIGlzVmFsaWQ6IGV4cGVjdGVkSG1hYyA9PT0gaG1hYyxcbiAgICBleHBlY3RlZEhtYWMsXG4gICAgc2lnbmF0dXJlU3ViamVjdCxcbiAgICBpc0luUmVzcG9uc2VWYWxpZGl0eVdpbmRvdyxcbiAgICB2ZXJpZmljYXRpb25UaW1lOiBub3csXG4gIH07XG59XG4iXX0=
|
package/dist/src/types.d.ts
CHANGED
|
@@ -1,24 +1,24 @@
|
|
|
1
1
|
export declare const supportedRequestMethods: readonly ["get", "post", "put", "del", "patch", "options", "delete"];
|
|
2
2
|
export type AuthVersion = 2 | 3;
|
|
3
|
-
export interface CalculateHmacSubjectOptions {
|
|
3
|
+
export interface CalculateHmacSubjectOptions<T> {
|
|
4
4
|
urlPath: string;
|
|
5
|
-
text:
|
|
5
|
+
text: T;
|
|
6
6
|
timestamp: number;
|
|
7
7
|
method: (typeof supportedRequestMethods)[number];
|
|
8
8
|
statusCode?: number;
|
|
9
9
|
authVersion: AuthVersion;
|
|
10
10
|
}
|
|
11
|
-
export interface CalculateRequestHmacOptions {
|
|
11
|
+
export interface CalculateRequestHmacOptions<T extends string | Buffer = string> {
|
|
12
12
|
url: string;
|
|
13
|
-
text:
|
|
13
|
+
text: T;
|
|
14
14
|
timestamp: number;
|
|
15
15
|
token: string;
|
|
16
16
|
method: (typeof supportedRequestMethods)[number];
|
|
17
17
|
authVersion: AuthVersion;
|
|
18
18
|
}
|
|
19
|
-
export interface CalculateRequestHeadersOptions {
|
|
19
|
+
export interface CalculateRequestHeadersOptions<T extends string | Buffer = string> {
|
|
20
20
|
url: string;
|
|
21
|
-
text:
|
|
21
|
+
text: T;
|
|
22
22
|
token: string;
|
|
23
23
|
method: (typeof supportedRequestMethods)[number];
|
|
24
24
|
authVersion: AuthVersion;
|
|
@@ -28,19 +28,19 @@ export interface RequestHeaders {
|
|
|
28
28
|
timestamp: number;
|
|
29
29
|
tokenHash: string;
|
|
30
30
|
}
|
|
31
|
-
export interface VerifyResponseOptions extends CalculateRequestHeadersOptions {
|
|
31
|
+
export interface VerifyResponseOptions<T extends string | Buffer = string> extends CalculateRequestHeadersOptions<T> {
|
|
32
32
|
hmac: string;
|
|
33
33
|
url: string;
|
|
34
|
-
text:
|
|
34
|
+
text: T;
|
|
35
35
|
timestamp: number;
|
|
36
36
|
method: (typeof supportedRequestMethods)[number];
|
|
37
37
|
statusCode?: number;
|
|
38
38
|
authVersion: AuthVersion;
|
|
39
39
|
}
|
|
40
|
-
export interface VerifyResponseInfo {
|
|
40
|
+
export interface VerifyResponseInfo<T extends string | Buffer = string> {
|
|
41
41
|
isValid: boolean;
|
|
42
42
|
expectedHmac: string;
|
|
43
|
-
signatureSubject:
|
|
43
|
+
signatureSubject: T;
|
|
44
44
|
isInResponseValidityWindow: boolean;
|
|
45
45
|
verificationTime: number;
|
|
46
46
|
}
|
package/dist/src/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,uBAAuB,sEAAuE,CAAC;AAE5G,MAAM,MAAM,WAAW,GAAG,CAAC,GAAG,CAAC,CAAC;AAEhC,MAAM,WAAW,2BAA2B;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,uBAAuB,sEAAuE,CAAC;AAE5G,MAAM,MAAM,WAAW,GAAG,CAAC,GAAG,CAAC,CAAC;AAEhC,MAAM,WAAW,2BAA2B,CAAC,CAAC;IAC5C,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,CAAC,CAAC;IACR,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,CAAC,OAAO,uBAAuB,CAAC,CAAC,MAAM,CAAC,CAAC;IACjD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,WAAW,CAAC;CAC1B;AAED,MAAM,WAAW,2BAA2B,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM;IAC7E,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,CAAC,CAAC;IACR,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,CAAC,OAAO,uBAAuB,CAAC,CAAC,MAAM,CAAC,CAAC;IACjD,WAAW,EAAE,WAAW,CAAC;CAC1B;AAED,MAAM,WAAW,8BAA8B,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM;IAChF,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,CAAC,CAAC;IACR,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,CAAC,OAAO,uBAAuB,CAAC,CAAC,MAAM,CAAC,CAAC;IACjD,WAAW,EAAE,WAAW,CAAC;CAC1B;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,qBAAqB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,CAAE,SAAQ,8BAA8B,CAAC,CAAC,CAAC;IAClH,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,CAAC,CAAC;IACR,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,CAAC,OAAO,uBAAuB,CAAC,CAAC,MAAM,CAAC,CAAC;IACjD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,WAAW,CAAC;CAC1B;AAED,MAAM,WAAW,kBAAkB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM;IACpE,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,CAAC,CAAC;IACpB,0BAA0B,EAAE,OAAO,CAAC;IACpC,gBAAgB,EAAE,MAAM,CAAC;CAC1B"}
|
package/dist/src/types.js
CHANGED
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.supportedRequestMethods = void 0;
|
|
4
4
|
exports.supportedRequestMethods = ['get', 'post', 'put', 'del', 'patch', 'options', 'delete'];
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQWEsUUFBQSx1QkFBdUIsR0FBRyxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsQ0FBVSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IHN1cHBvcnRlZFJlcXVlc3RNZXRob2RzID0gWydnZXQnLCAncG9zdCcsICdwdXQnLCAnZGVsJywgJ3BhdGNoJywgJ29wdGlvbnMnLCAnZGVsZXRlJ10gYXMgY29uc3Q7XG5cbmV4cG9ydCB0eXBlIEF1dGhWZXJzaW9uID0gMiB8IDM7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2FsY3VsYXRlSG1hY1N1YmplY3RPcHRpb25zPFQ+IHtcbiAgdXJsUGF0aDogc3RyaW5nO1xuICB0ZXh0OiBUO1xuICB0aW1lc3RhbXA6IG51bWJlcjtcbiAgbWV0aG9kOiAodHlwZW9mIHN1cHBvcnRlZFJlcXVlc3RNZXRob2RzKVtudW1iZXJdO1xuICBzdGF0dXNDb2RlPzogbnVtYmVyO1xuICBhdXRoVmVyc2lvbjogQXV0aFZlcnNpb247XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2FsY3VsYXRlUmVxdWVzdEhtYWNPcHRpb25zPFQgZXh0ZW5kcyBzdHJpbmcgfCBCdWZmZXIgPSBzdHJpbmc+IHtcbiAgdXJsOiBzdHJpbmc7XG4gIHRleHQ6IFQ7XG4gIHRpbWVzdGFtcDogbnVtYmVyO1xuICB0b2tlbjogc3RyaW5nO1xuICBtZXRob2Q6ICh0eXBlb2Ygc3VwcG9ydGVkUmVxdWVzdE1ldGhvZHMpW251bWJlcl07XG4gIGF1dGhWZXJzaW9uOiBBdXRoVmVyc2lvbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDYWxjdWxhdGVSZXF1ZXN0SGVhZGVyc09wdGlvbnM8VCBleHRlbmRzIHN0cmluZyB8IEJ1ZmZlciA9IHN0cmluZz4ge1xuICB1cmw6IHN0cmluZztcbiAgdGV4dDogVDtcbiAgdG9rZW46IHN0cmluZztcbiAgbWV0aG9kOiAodHlwZW9mIHN1cHBvcnRlZFJlcXVlc3RNZXRob2RzKVtudW1iZXJdO1xuICBhdXRoVmVyc2lvbjogQXV0aFZlcnNpb247XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVxdWVzdEhlYWRlcnMge1xuICBobWFjOiBzdHJpbmc7XG4gIHRpbWVzdGFtcDogbnVtYmVyO1xuICB0b2tlbkhhc2g6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBWZXJpZnlSZXNwb25zZU9wdGlvbnM8VCBleHRlbmRzIHN0cmluZyB8IEJ1ZmZlciA9IHN0cmluZz4gZXh0ZW5kcyBDYWxjdWxhdGVSZXF1ZXN0SGVhZGVyc09wdGlvbnM8VD4ge1xuICBobWFjOiBzdHJpbmc7XG4gIHVybDogc3RyaW5nO1xuICB0ZXh0OiBUO1xuICB0aW1lc3RhbXA6IG51bWJlcjtcbiAgbWV0aG9kOiAodHlwZW9mIHN1cHBvcnRlZFJlcXVlc3RNZXRob2RzKVtudW1iZXJdO1xuICBzdGF0dXNDb2RlPzogbnVtYmVyO1xuICBhdXRoVmVyc2lvbjogQXV0aFZlcnNpb247XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVmVyaWZ5UmVzcG9uc2VJbmZvPFQgZXh0ZW5kcyBzdHJpbmcgfCBCdWZmZXIgPSBzdHJpbmc+IHtcbiAgaXNWYWxpZDogYm9vbGVhbjtcbiAgZXhwZWN0ZWRIbWFjOiBzdHJpbmc7XG4gIHNpZ25hdHVyZVN1YmplY3Q6IFQ7XG4gIGlzSW5SZXNwb25zZVZhbGlkaXR5V2luZG93OiBib29sZWFuO1xuICB2ZXJpZmljYXRpb25UaW1lOiBudW1iZXI7XG59XG4iXX0=
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bitgo-beta/sdk-hmac",
|
|
3
|
-
"version": "1.0.0-alpha.
|
|
3
|
+
"version": "1.0.0-alpha.167",
|
|
4
4
|
"description": "HMAC module for the BitGo SDK",
|
|
5
5
|
"main": "./dist/src/index.js",
|
|
6
6
|
"types": "./dist/src/index.d.ts",
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
"prepare": "npm run build"
|
|
17
17
|
},
|
|
18
18
|
"dependencies": {
|
|
19
|
-
"@bitgo-beta/sjcl": "1.0.1-alpha.
|
|
19
|
+
"@bitgo-beta/sjcl": "1.0.1-alpha.364"
|
|
20
20
|
},
|
|
21
21
|
"devDependencies": {
|
|
22
22
|
"chai": "^4.3.6",
|
|
@@ -46,5 +46,5 @@
|
|
|
46
46
|
".ts"
|
|
47
47
|
]
|
|
48
48
|
},
|
|
49
|
-
"gitHead": "
|
|
49
|
+
"gitHead": "b3bfeff4b8b9be8ffd6538204026bf8dd13e9e67"
|
|
50
50
|
}
|