@m-ld/gateway
Version:
m-ld gateway for services
27 lines • 1.89 kB
JavaScript
import { AuthKey } from './AuthKey.js';
import { randomBytes } from 'crypto';
/**
* A key store that persists to a m-ld domain
*/
export class DomainKeyStore {
constructor(appId) {
this.appId = appId;
}
async mintKey(name) {
const material = randomBytes(40).toString('hex')
.replace(/\d/g, c => String.fromCharCode('g'.charCodeAt(0) + Number(c)));
return {
key: new AuthKey({
appId: this.appId,
keyid: material.slice(0, 6),
secret: material.slice(6)
}),
name,
revoked: false
};
}
async pingKey(keyid) {
return undefined; // No key stored
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRG9tYWluS2V5U3RvcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL0RvbWFpbktleVN0b3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQVksTUFBTSxjQUFjLENBQUM7QUFDakQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUVyQzs7R0FFRztBQUNILE1BQU0sT0FBTyxjQUFjO0lBQ3pCLFlBQ21CLEtBQWE7UUFBYixVQUFLLEdBQUwsS0FBSyxDQUFRO0lBQzdCLENBQUM7SUFFSixLQUFLLENBQUMsT0FBTyxDQUFDLElBQVk7UUFDeEIsTUFBTSxRQUFRLEdBQUcsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7YUFDN0MsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUNsQixNQUFNLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN4RCxPQUFPO1lBQ0wsR0FBRyxFQUFFLElBQUksT0FBTyxDQUFDO2dCQUNmLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztnQkFDakIsS0FBSyxFQUFFLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDM0IsTUFBTSxFQUFFLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO2FBQzFCLENBQUM7WUFDRixJQUFJO1lBQ0osT0FBTyxFQUFFLEtBQUs7U0FDZixDQUFDO0lBQ0osQ0FBQztJQUVELEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBYTtRQUN6QixPQUFPLFNBQVMsQ0FBQyxDQUFDLGdCQUFnQjtJQUNwQyxDQUFDO0NBQ0YifQ==