UNPKG

@nodearch/keycloak

Version:
55 lines 2.22 kB
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; var __metadata = (this && this.__metadata) || function (k, v) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); }; import { Config, ConfigManager } from '@nodearch/core'; let KeycloakConfig = class KeycloakConfig { constructor(config) { this.clientId = config.env({ defaults: { all: 'master' }, external: 'clientId' }); this.hostname = this.formatHostName(config.env({ defaults: { all: 'http://localhost:8080' }, external: 'hostname' })); this.issuer = this.formatHostName(config.env({ defaults: { all: this.hostname }, external: 'issuer' })); this.realmJWTPath = config.env({ defaults: { all: 'realm' }, external: 'realmJWTPath' }); this.jwtVerify = config.env({ defaults: { all: { algorithms: ['RS256'] } }, external: 'jwtVerify' }); this.claims = config.env({ required: false, external: 'claims' }); } formatHostName(hostname) { const url = new URL(hostname); if (url.origin === 'null') { throw new Error('Invalid Keycloak URL => ' + hostname); } return (url.href.charAt(url.href.length - 1) === '/') ? url.href.slice(0, -1) : url.href; } }; KeycloakConfig = __decorate([ Config(), __metadata("design:paramtypes", [ConfigManager]) ], KeycloakConfig); export { KeycloakConfig }; //# sourceMappingURL=keycloak.config.js.map