@auth0/mdl
Version:
Parse and and validate MDOC CBOR encoded binaries according to ISO 18013-5.
50 lines • 3.51 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.DeviceSignedDocument = void 0;
const DataItem_1 = require("../../cbor/DataItem");
const IssuerSignedDocument_1 = require("./IssuerSignedDocument");
/**
* Represents a device signed document.
*
* Note: You don't need to instantiate this class.
* This is the return type of the parser and it will be generated by the DeviceResponse builder.
*/
class DeviceSignedDocument extends IssuerSignedDocument_1.IssuerSignedDocument {
constructor(docType, issuerSigned, deviceSigned) {
super(docType, issuerSigned);
this.deviceSigned = deviceSigned;
}
prepare() {
const doc = super.prepare();
const deviceSignature = this.deviceSigned.deviceAuth.deviceSignature?.getContentForEncoding();
const deviceMac = this.deviceSigned.deviceAuth.deviceMac?.getContentForEncoding();
// detach payload
if (deviceMac) {
deviceMac[2] = null;
}
if (deviceSignature) {
deviceSignature[2] = null;
}
doc.set('deviceSigned', {
...this.deviceSigned,
nameSpaces: DataItem_1.DataItem.fromData(this.deviceSigned.nameSpaces),
deviceAuth: {
...this.deviceSigned.deviceAuth,
...(deviceSignature ? { deviceSignature } : {}),
...(deviceMac ? { deviceMac } : {}),
},
});
return doc;
}
/**
* Helper method to get the values in a namespace as a JS object.
*
* @param {string} namespace - The namespace to add.
* @returns {Record<string, any>} - The values in the namespace as an object
*/
getDeviceNameSpace(namespace) {
return this.deviceSigned.nameSpaces[namespace];
}
}
exports.DeviceSignedDocument = DeviceSignedDocument;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGV2aWNlU2lnbmVkRG9jdW1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbWRvYy9tb2RlbC9EZXZpY2VTaWduZWREb2N1bWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxrREFBK0M7QUFFL0MsaUVBQThEO0FBRTlEOzs7OztHQUtHO0FBQ0gsTUFBYSxvQkFBcUIsU0FBUSwyQ0FBb0I7SUFDNUQsWUFDRSxPQUFnQixFQUNoQixZQUEwQixFQUNWLFlBQTBCO1FBRTFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFGYixpQkFBWSxHQUFaLFlBQVksQ0FBYztJQUc1QyxDQUFDO0lBRUQsT0FBTztRQUNMLE1BQU0sR0FBRyxHQUFHLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUM1QixNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxlQUFlLEVBQUUscUJBQXFCLEVBQUUsQ0FBQztRQUM5RixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxTQUFTLEVBQUUscUJBQXFCLEVBQUUsQ0FBQztRQUNsRixpQkFBaUI7UUFDakIsSUFBSSxTQUFTLEVBQUU7WUFDYixTQUFTLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDO1NBQ3JCO1FBQ0QsSUFBSSxlQUFlLEVBQUU7WUFDbkIsZUFBZSxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQztTQUMzQjtRQUVELEdBQUcsQ0FBQyxHQUFHLENBQUMsY0FBYyxFQUFFO1lBQ3RCLEdBQUcsSUFBSSxDQUFDLFlBQVk7WUFDcEIsVUFBVSxFQUFFLG1CQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDO1lBQzNELFVBQVUsRUFBRTtnQkFDVixHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVTtnQkFDL0IsR0FBRyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsRUFBRSxlQUFlLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUMvQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7YUFDcEM7U0FDRixDQUFDLENBQUM7UUFDSCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILGtCQUFrQixDQUFDLFNBQWlCO1FBQ2xDLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDakQsQ0FBQztDQUNGO0FBMUNELG9EQTBDQyJ9