@voidkey/broker-core
Version:
Core credential minting logic for the voidkey zero-trust credential broker
32 lines • 1.19 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.CustomIdpProvider = void 0;
const base_1 = require("./base");
const jwks_client_1 = require("../jwks/jwks-client");
class CustomIdpProvider extends base_1.IdpProvider {
constructor(config) {
super(config);
this.jwksValidator = new jwks_client_1.JwksTokenValidator(config);
}
async validateToken(token) {
console.log(`🔐 Validating custom IdP token for ${this.config.name} (real JWT validation)`);
try {
const claims = await this.jwksValidator.validateToken(token);
console.log(`✅ ${this.config.name} token validated for subject: ${claims.sub}`);
// Add provider information to claims
return {
...claims,
provider: this.config.name
};
}
catch (error) {
console.error(`❌ ${this.config.name} token validation failed: ${error}`);
throw error;
}
}
async healthCheck() {
return await this.jwksValidator.healthCheck();
}
}
exports.CustomIdpProvider = CustomIdpProvider;
//# sourceMappingURL=custom.js.map