UNPKG

@m-ld/gateway

Version:

m-ld gateway for services

33 lines 2.56 kB
/** * An authorisation key with app, keyid and secret components */ export class AuthKey { static fromString(keyStr) { const [keyName, secret] = keyStr.split(':'); const [appId, keyid] = keyName.split('.'); const authKey = new AuthKey({ appId, keyid, secret }); if (authKey.toString() !== keyStr) throw new RangeError(`${keyStr} is not a valid authorisation key`); return authKey; } constructor({ appId, keyid, secret }) { /** Application ID: for multi-app gateways, not used in timeld */ this.appId = appId; /** Key ID: scoped to app */ this.keyid = keyid; /** Secret material */ this.secret = secret; } toString() { return `${this.appId}.${this.keyid}:${this.secret}`; } toConfig() { return { auth: { key: this.toString() } }; } matches(that) { return this.appId === that.appId && this.keyid === that.keyid && this.secret === that.secret; } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXV0aEtleS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvQXV0aEtleS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFrQkE7O0dBRUc7QUFDSCxNQUFNLE9BQU8sT0FBTztJQUNsQixNQUFNLENBQUMsVUFBVSxDQUFDLE1BQWM7UUFDOUIsTUFBTSxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzVDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMxQyxNQUFNLE9BQU8sR0FBRyxJQUFJLE9BQU8sQ0FBQyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUN0RCxJQUFJLE9BQU8sQ0FBQyxRQUFRLEVBQUUsS0FBSyxNQUFNO1lBQy9CLE1BQU0sSUFBSSxVQUFVLENBQUMsR0FBRyxNQUFNLG1DQUFtQyxDQUFDLENBQUM7UUFDckUsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQU1ELFlBQVksRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBb0Q7UUFDcEYsaUVBQWlFO1FBQ2pFLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLDRCQUE0QjtRQUM1QixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixzQkFBc0I7UUFDdEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7SUFDdkIsQ0FBQztJQUVELFFBQVE7UUFDTixPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUN0RCxDQUFDO0lBRUQsUUFBUTtRQUNOLE9BQU8sRUFBRSxJQUFJLEVBQUUsRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFLEVBQUUsQ0FBQztJQUM1QyxDQUFDO0lBRUQsT0FBTyxDQUFDLElBQWE7UUFDbkIsT0FBTyxJQUFJLENBQUMsS0FBSyxLQUFLLElBQUksQ0FBQyxLQUFLO1lBQzlCLElBQUksQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLEtBQUs7WUFDekIsSUFBSSxDQUFDLE1BQU0sS0FBSyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ2hDLENBQUM7Q0FDRiJ9