UNPKG

keycloak-angular

Version:
47 lines 6.31 kB
import * as tslib_1 from "tslib"; var KeycloakAuthGuard = (function () { function KeycloakAuthGuard(router, keycloakAngular) { this.router = router; this.keycloakAngular = keycloakAngular; } KeycloakAuthGuard.prototype.canActivate = function (route, state) { var _this = this; return new Promise((function (resolve, reject) { return tslib_1.__awaiter(_this, void 0, void 0, function () { var _a, _b, result, error_1; return tslib_1.__generator(this, function (_c) { switch (_c.label) { case 0: _c.trys.push([0, 4, , 5]); _a = this; return [4, this.keycloakAngular.isLoggedIn()]; case 1: _a.authenticated = _c.sent(); _b = this; return [4, this.keycloakAngular.getUserRoles(true)]; case 2: _b.roles = _c.sent(); return [4, this.isAccessAllowed(route, state)]; case 3: result = _c.sent(); resolve(result); return [3, 5]; case 4: error_1 = _c.sent(); reject('An error happened during access validation. Details:' + error_1); return [3, 5]; case 5: return [2]; } }); }); })); }; return KeycloakAuthGuard; }()); export { KeycloakAuthGuard }; if (false) { KeycloakAuthGuard.prototype.authenticated; KeycloakAuthGuard.prototype.roles; KeycloakAuthGuard.prototype.router; KeycloakAuthGuard.prototype.keycloakAngular; KeycloakAuthGuard.prototype.isAccessAllowed = function (route, state) { }; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5Y2xvYWstYXV0aC1ndWFyZC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2tleWNsb2FrLWFuZ3VsYXIvIiwic291cmNlcyI6WyJsaWIvY29yZS9zZXJ2aWNlcy9rZXljbG9hay1hdXRoLWd1YXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFrQkE7SUFVRSwyQkFBc0IsTUFBYyxFQUFZLGVBQWdDO1FBQTFELFdBQU0sR0FBTixNQUFNLENBQVE7UUFBWSxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7SUFBRyxDQUFDO0lBU3BGLHVDQUFXLEdBQVgsVUFBWSxLQUE2QixFQUFFLEtBQTBCO1FBQXJFLGlCQVlDO1FBWEMsT0FBTyxJQUFJLE9BQU8sRUFBQyxVQUFPLE9BQU8sRUFBRSxNQUFNOzs7Ozs7d0JBRXJDLEtBQUEsSUFBSSxDQUFBO3dCQUFpQixXQUFNLElBQUksQ0FBQyxlQUFlLENBQUMsVUFBVSxFQUFFLEVBQUE7O3dCQUE1RCxHQUFLLGFBQWEsR0FBRyxTQUF1QyxDQUFDO3dCQUM3RCxLQUFBLElBQUksQ0FBQTt3QkFBUyxXQUFNLElBQUksQ0FBQyxlQUFlLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxFQUFBOzt3QkFBMUQsR0FBSyxLQUFLLEdBQUcsU0FBNkMsQ0FBQzt3QkFFNUMsV0FBTSxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsRUFBQTs7d0JBQWpELE1BQU0sR0FBRyxTQUF3Qzt3QkFDdkQsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDOzs7O3dCQUVoQixNQUFNLENBQUMsc0RBQXNELEdBQUcsT0FBSyxDQUFDLENBQUM7Ozs7O2FBRTFFLEVBQUMsQ0FBQztJQUNMLENBQUM7SUFlSCx3QkFBQztBQUFELENBQUMsQUE5Q0QsSUE4Q0M7OztJQTFDQywwQ0FBaUM7SUFJakMsa0NBQTBCO0lBRWQsbUNBQXdCO0lBQUUsNENBQTBDO0lBZ0NoRiwwRUFHOEIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgTWF1cmljaW8gR2VtZWxsaSBWaWdvbG8gYW5kIGNvbnRyaWJ1dG9ycy5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vZ2l0aHViLmNvbS9tYXVyaWNpb3ZpZ29sby9rZXljbG9hay1hbmd1bGFyL0xJQ0VOU0VcbiAqL1xuXG5pbXBvcnQgeyBDYW5BY3RpdmF0ZSwgUm91dGVyLCBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBSb3V0ZXJTdGF0ZVNuYXBzaG90LCBVcmxUcmVlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuaW1wb3J0IHsgS2V5Y2xvYWtTZXJ2aWNlIH0gZnJvbSAnLi9rZXljbG9hay5zZXJ2aWNlJztcblxuLyoqXG4gKiBBIHNpbXBsZSBndWFyZCBpbXBsZW1lbnRhdGlvbiBvdXQgb2YgdGhlIGJveC4gVGhpcyBjbGFzcyBzaG91bGQgYmUgaW5oZXJpdGVkIGFuZFxuICogaW1wbGVtZW50ZWQgYnkgdGhlIGFwcGxpY2F0aW9uLiBUaGUgb25seSBtZXRob2QgdGhhdCBzaG91bGQgYmUgaW1wbGVtZW50ZWQgaXMgI2lzQWNjZXNzQWxsb3dlZC5cbiAqIFRoZSByZWFzb24gZm9yIHRoaXMgaXMgdGhhdCB0aGUgYXV0aG9yaXphdGlvbiBmbG93IGlzIHVzdWFsbHkgbm90IHVuaXF1ZSwgc28gaW4gdGhpcyB3YXkgeW91IHdpbGxcbiAqIGhhdmUgbW9yZSBmcmVlZG9tIHRvIGN1c3RvbWl6ZSB5b3VyIGF1dGhvcml6YXRpb24gZmxvdy5cbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEtleWNsb2FrQXV0aEd1YXJkIGltcGxlbWVudHMgQ2FuQWN0aXZhdGUge1xuICAvKipcbiAgICogSW5kaWNhdGVzIGlmIHRoZSB1c2VyIGlzIGF1dGhlbnRpY2F0ZWQgb3Igbm90LlxuICAgKi9cbiAgcHJvdGVjdGVkIGF1dGhlbnRpY2F0ZWQ6IGJvb2xlYW47XG4gIC8qKlxuICAgKiBSb2xlcyBvZiB0aGUgbG9nZ2VkIHVzZXIuIEl0IGNvbnRhaW5zIHRoZSBjbGllbnRJZCBhbmQgcmVhbG0gdXNlciByb2xlcy5cbiAgICovXG4gIHByb3RlY3RlZCByb2xlczogc3RyaW5nW107XG5cbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIHJvdXRlcjogUm91dGVyLCBwcm90ZWN0ZWQga2V5Y2xvYWtBbmd1bGFyOiBLZXljbG9ha1NlcnZpY2UpIHt9XG5cbiAgLyoqXG4gICAqIENhbkFjdGl2YXRlIGNoZWNrcyBpZiB0aGUgdXNlciBpcyBsb2dnZWQgaW4gYW5kIGdldCB0aGUgZnVsbCBsaXN0IG9mIHJvbGVzIChSRUFMTSArIENMSUVOVClcbiAgICogb2YgdGhlIGxvZ2dlZCB1c2VyLiBUaGlzIHZhbHVlcyBhcmUgc2V0IHRvIGF1dGhlbnRpY2F0ZWQgYW5kIHJvbGVzIHBhcmFtcy5cbiAgICpcbiAgICogQHBhcmFtIHJvdXRlXG4gICAqIEBwYXJhbSBzdGF0ZVxuICAgKi9cbiAgY2FuQWN0aXZhdGUocm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIHN0YXRlOiBSb3V0ZXJTdGF0ZVNuYXBzaG90KTogUHJvbWlzZTxib29sZWFuIHwgVXJsVHJlZT4ge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZShhc3luYyAocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICB0cnkge1xuICAgICAgICB0aGlzLmF1dGhlbnRpY2F0ZWQgPSBhd2FpdCB0aGlzLmtleWNsb2FrQW5ndWxhci5pc0xvZ2dlZEluKCk7XG4gICAgICAgIHRoaXMucm9sZXMgPSBhd2FpdCB0aGlzLmtleWNsb2FrQW5ndWxhci5nZXRVc2VyUm9sZXModHJ1ZSk7XG5cbiAgICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGhpcy5pc0FjY2Vzc0FsbG93ZWQocm91dGUsIHN0YXRlKTtcbiAgICAgICAgcmVzb2x2ZShyZXN1bHQpO1xuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgcmVqZWN0KCdBbiBlcnJvciBoYXBwZW5lZCBkdXJpbmcgYWNjZXNzIHZhbGlkYXRpb24uIERldGFpbHM6JyArIGVycm9yKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgeW91ciBvd24gY3VzdG9taXplZCBhdXRob3JpemF0aW9uIGZsb3cgaW4gdGhpcyBtZXRob2QuIEZyb20gaGVyZSB5b3UgYWxyZWFkeSBrbm93blxuICAgKiBpZiB0aGUgdXNlciBpcyBhdXRoZW50aWNhdGVkICh0aGlzLmF1dGhlbnRpY2F0ZWQpIGFuZCB0aGUgdXNlciByb2xlcyAodGhpcy5yb2xlcykuXG4gICAqXG4gICAqIFJldHVybiBhIFVybFRyZWUgaWYgdGhlIHVzZXIgc2hvdWxkIGJlIHJlZGlyZWN0ZWQgdG8gYW5vdGhlciByb3V0ZS5cbiAgICpcbiAgICogQHBhcmFtIHJvdXRlXG4gICAqIEBwYXJhbSBzdGF0ZVxuICAgKi9cbiAgYWJzdHJhY3QgaXNBY2Nlc3NBbGxvd2VkKFxuICAgIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LFxuICAgIHN0YXRlOiBSb3V0ZXJTdGF0ZVNuYXBzaG90XG4gICk6IFByb21pc2U8Ym9vbGVhbiB8IFVybFRyZWU+O1xufVxuIl19