initial commit
This commit is contained in:
72
server/node_modules/jose/dist/node/cjs/jwt/encrypt.js
generated
vendored
Normal file
72
server/node_modules/jose/dist/node/cjs/jwt/encrypt.js
generated
vendored
Normal file
@@ -0,0 +1,72 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.EncryptJWT = void 0;
|
||||
const encrypt_js_1 = require("../jwe/compact/encrypt.js");
|
||||
const buffer_utils_js_1 = require("../lib/buffer_utils.js");
|
||||
const produce_js_1 = require("./produce.js");
|
||||
class EncryptJWT extends produce_js_1.ProduceJWT {
|
||||
setProtectedHeader(protectedHeader) {
|
||||
if (this._protectedHeader) {
|
||||
throw new TypeError('setProtectedHeader can only be called once');
|
||||
}
|
||||
this._protectedHeader = protectedHeader;
|
||||
return this;
|
||||
}
|
||||
setKeyManagementParameters(parameters) {
|
||||
if (this._keyManagementParameters) {
|
||||
throw new TypeError('setKeyManagementParameters can only be called once');
|
||||
}
|
||||
this._keyManagementParameters = parameters;
|
||||
return this;
|
||||
}
|
||||
setContentEncryptionKey(cek) {
|
||||
if (this._cek) {
|
||||
throw new TypeError('setContentEncryptionKey can only be called once');
|
||||
}
|
||||
this._cek = cek;
|
||||
return this;
|
||||
}
|
||||
setInitializationVector(iv) {
|
||||
if (this._iv) {
|
||||
throw new TypeError('setInitializationVector can only be called once');
|
||||
}
|
||||
this._iv = iv;
|
||||
return this;
|
||||
}
|
||||
replicateIssuerAsHeader() {
|
||||
this._replicateIssuerAsHeader = true;
|
||||
return this;
|
||||
}
|
||||
replicateSubjectAsHeader() {
|
||||
this._replicateSubjectAsHeader = true;
|
||||
return this;
|
||||
}
|
||||
replicateAudienceAsHeader() {
|
||||
this._replicateAudienceAsHeader = true;
|
||||
return this;
|
||||
}
|
||||
async encrypt(key, options) {
|
||||
const enc = new encrypt_js_1.CompactEncrypt(buffer_utils_js_1.encoder.encode(JSON.stringify(this._payload)));
|
||||
if (this._replicateIssuerAsHeader) {
|
||||
this._protectedHeader = { ...this._protectedHeader, iss: this._payload.iss };
|
||||
}
|
||||
if (this._replicateSubjectAsHeader) {
|
||||
this._protectedHeader = { ...this._protectedHeader, sub: this._payload.sub };
|
||||
}
|
||||
if (this._replicateAudienceAsHeader) {
|
||||
this._protectedHeader = { ...this._protectedHeader, aud: this._payload.aud };
|
||||
}
|
||||
enc.setProtectedHeader(this._protectedHeader);
|
||||
if (this._iv) {
|
||||
enc.setInitializationVector(this._iv);
|
||||
}
|
||||
if (this._cek) {
|
||||
enc.setContentEncryptionKey(this._cek);
|
||||
}
|
||||
if (this._keyManagementParameters) {
|
||||
enc.setKeyManagementParameters(this._keyManagementParameters);
|
||||
}
|
||||
return enc.encrypt(key, options);
|
||||
}
|
||||
}
|
||||
exports.EncryptJWT = EncryptJWT;
|
||||
Reference in New Issue
Block a user