@c8y/ngx-components
Version:
Angular modules for Cumulocity IoT applications
51 lines • 3.04 kB
TypeScript
import { IResult, ITenantLoginOption, ITenantOption, SystemOptionsService, TenantLoginOptionsService, TenantOptionsService, TenantService } from '@c8y/client';
import { Observable } from 'rxjs';
import { AuthConfiguration } from './auth-configuration.model';
import { AppStateService, TenantUiService } from '@c8y/ngx-components';
import { TenantLoginOptionMapper } from './tenant-login-option.mapper';
import * as i0 from "@angular/core";
export declare class AuthConfigurationService {
private tenantLoginOptionsService;
private tenantOptionsService;
private systemOptionsService;
private appState;
private tenantUiService;
private tenantLoginOptionMapper;
private tenantService;
private systemOptionsWithDefaultValue;
private tenantOptionsWithDefaultValue;
constructor(tenantLoginOptionsService: TenantLoginOptionsService, tenantOptionsService: TenantOptionsService, systemOptionsService: SystemOptionsService, appState: AppStateService, tenantUiService: TenantUiService, tenantLoginOptionMapper: TenantLoginOptionMapper, tenantService: TenantService);
getAuthConfiguration$(): Observable<AuthConfiguration>;
save(newAuthConfiguration: AuthConfiguration, previousAuthConfiguration: AuthConfiguration): Promise<[IResult<ITenantLoginOption>, IResult<ITenantLoginOption>, ...IResult<ITenantOption>[]]>;
private map;
private saveOrUpdateLoginOption;
private prepareBasicLoginOption;
private prepareOauthInternalLoginOption;
private originalLoginOptionWithDefaults;
private getLoginOptionFromAuthConfiguration;
private visibleOnLoginPage;
private prepareTenantOptions;
private getLoginOptions$;
private getLoginOption;
private getPreferredLoginOptionType$;
private getTenantOptions$;
private getSystemOptions$;
/**
* Returns an observable with fixed `two-factor-authentication.enforced` system option or null.
* This method fixes problem with inconsistent value. System option `two-factor-authentication.enforced` is list of tenants when UI using boolean value.
* This part will be removed after implementing new endpoint in MTM-50490.
*/
private fixTfaEnforcedSystemOption;
/**
* Returns a promise or null.
* This method is needed now, because simply changing TFA strategy tenant option does not trigger all the necessary backend logic to apply the change, therefore, we need to call tenant's `/tfa` endpoint, which applies the change for all users in the tenant.
* Within MTM-50490, we're going to simplify the process further by replacing multiple requests with one new endpoint that will handle saving of all authentication settings.
*/
private fixTfaStrategy;
private isSmsApplicationAvailable$;
private getOptionsObject;
private getDefaultLoginOption;
static ɵfac: i0.ɵɵFactoryDeclaration<AuthConfigurationService, never>;
static ɵprov: i0.ɵɵInjectableDeclaration<AuthConfigurationService>;
}
//# sourceMappingURL=auth-configuration.service.d.ts.map