import { HttpClient } from '@angular/common/http'; import { KeycloakAuthzOptions } from '../interfaces/keycloak-authz-options'; import { KeycloakAuthorizationRequest } from '../interfaces/keycloak-authorization-request'; import { KeycloakResourcePermission, KeycloakResourcePermissionsCheck } from '../interfaces/keycloak-permissions'; import * as i0 from "@angular/core"; export declare class KeycloakAuthorizationService { private http; private authConfig; private keycloakConfig; /** * Indicates that the permission for the default resource server be loaded at the adapter initialization */ private _loadPermissionsInStartup; /** * Defines the resource-server of which the permissions are loaded at adpater initialization */ private _defaultResourceServerId; /** * Contains the RPT-Token after successfull Get-Entitlement-Call */ private _rpt; /** * Contains all permissions decoded from the RPT-Token after successful Get-Entitlement-Call */ private _permissions; constructor(http: HttpClient); private newParams; /** * Handles the class values initialization. * * @param options */ private initServiceValues; /** * KeycloakAuthorization initialization. It should be called to initialize the adapter. * Options is a object with 2 main parameters: config and initOptions. The first one * will be used to connect to Keycloak. The second one are options to initialize the * keycloak authorization instance. * * @param options * config: an object with the following content: * - url: Keycloak json URL * - realm: realm name * - clientId: client id * * initOptions: * - defaultResourceServerId: specifies the default resource-server * - loadPermissionsInStartup: if set to true, load all permissions for default resource-server at initializiation of adapter * * */ init(options: KeycloakAuthzOptions): Promise; /** * Checks if user has the required access to a resource and/or scope. * * @param authorization-check object * - rsname : Name of the resource * - scope : name of the scope * * * @returns boolean true if user has access, false if not */ checkAuthorization(authorization: KeycloakResourcePermissionsCheck): boolean; /** * Internal method to check if user has the required access to a resource and/or scope * * @param authorization * * @returns boolean true if user has access, false if not */ private hasAuthorization; /** * Return an array of all permissions present for the logged-in user * * @returns Array of permissions */ getPermissions(): KeycloakResourcePermission[]; /** * Gets authorizations for resource-server from keycloak. Also stores the permissions for future use * * @param resourceServerId * The resource server for which the entitlements of the current user are checked * * @param authorizationRequest * * @returns Authorizations-Object */ getAuthorizations(resourceServerId: any, authorizationRequest: KeycloakAuthorizationRequest): Promise; /** * Gets entitlement fron resource-server from keycloak * * @param resourceServerId * The resource server for which the entitlements of the current user are checked * * @param authorizationRequest * * @returns Object with RPT-Token containing the authorizations/entitlement */ private getEntitlement; /** * Decodes RPT-Token * * @param str - enoded token string * * @returns Decoded jwt-token object * */ private decodeToken; private handleError; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; }