mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2025-07-24 17:32:15 +00:00
[AAE-12511] implement OIDC authentication capabilities in ADF (#7856)
* feat: add custom AlfrescoApiHttpClient [ci:force]
* feat: update configs
* feat: move api to follow second entry point structure
* feat: add auth module [ci:force]
* Fix rebasing issues
* Isolate oidc package as subfolder
* Canary mode
* [AAE-12498] Fix unit test should load external settings: resolve reponse data instead returning default config
* [AAE-12498] Set @nrwl/eslint-plugin-nx@14.5.4 version to fix lint job that failed because of the 14.8.6 version (https://github.com/Alfresco/alfresco-ng2-components/actions/runs/4165060892/jobs/7207651856\#step:5:3379)
* [AAE-12498] Fix stories:build-storybook:ci issues
* [AAE-7991] cherry-pick e935f7b0b1
from repo https://github.com/Alfresco/alfresco-ng2-components/pull/7818: send onLogin to initialize acs version to fix [C362242] on canary configuration
* [AAE-12498] Fix security hotspot: fix unsafe pseudorandom number generator
* test: add missing tests for oidc-auth.guard
* test: fix lint issues
* chore: remove assignment in return
* [AAE-12498] Remove warning comment because we already know we're doing breaking changes
* [AAE-12498] Add auth-config.service unit tests
* [AAE-12498] Remove getUserProfile from auth service
---------
Co-authored-by: Andras Popovics <popovics@ndras.hu>
Co-authored-by: Amedeo Lepore <amedeo.lepore@hyland.com>
This commit is contained in:
@@ -17,7 +17,7 @@
|
||||
|
||||
import { Component, EventEmitter, Output, ViewEncapsulation, OnInit, Input } from '@angular/core';
|
||||
import { Validators, UntypedFormGroup, UntypedFormBuilder, UntypedFormControl } from '@angular/forms';
|
||||
import { AppConfigService, AppConfigValues, StorageService, AlfrescoApiService, OauthConfigModel } from '@alfresco/adf-core';
|
||||
import { AppConfigService, AppConfigValues, StorageService, AlfrescoApiService, OauthConfigModel, AuthenticationService } from '@alfresco/adf-core';
|
||||
import { ENTER } from '@angular/cdk/keycodes';
|
||||
|
||||
export const HOST_REGEX = '^(http|https):\/\/.*[^/]$';
|
||||
@@ -57,11 +57,13 @@ export class HostSettingsComponent implements OnInit {
|
||||
// eslint-disable-next-line @angular-eslint/no-output-native
|
||||
success = new EventEmitter<boolean>();
|
||||
|
||||
constructor(private formBuilder: UntypedFormBuilder,
|
||||
private storageService: StorageService,
|
||||
private alfrescoApiService: AlfrescoApiService,
|
||||
private appConfig: AppConfigService) {
|
||||
}
|
||||
constructor(
|
||||
private formBuilder: UntypedFormBuilder,
|
||||
private storageService: StorageService,
|
||||
private alfrescoApiService: AlfrescoApiService,
|
||||
private appConfig: AppConfigService,
|
||||
private auth: AuthenticationService
|
||||
) {}
|
||||
|
||||
ngOnInit() {
|
||||
if (this.providers.length === 1) {
|
||||
@@ -146,6 +148,7 @@ export class HostSettingsComponent implements OnInit {
|
||||
secret: oauth.secret,
|
||||
silentLogin: oauth.silentLogin,
|
||||
implicitFlow: oauth.implicitFlow,
|
||||
codeFlow: oauth.codeFlow,
|
||||
publicUrls: [oauth.publicUrls]
|
||||
});
|
||||
}
|
||||
@@ -185,6 +188,7 @@ export class HostSettingsComponent implements OnInit {
|
||||
this.storageService.setItem(AppConfigValues.AUTHTYPE, values.authType);
|
||||
|
||||
this.alfrescoApiService.reset();
|
||||
this.auth.reset();
|
||||
this.alfrescoApiService.getInstance().invalidateSession();
|
||||
this.success.emit(true);
|
||||
}
|
||||
@@ -228,6 +232,10 @@ export class HostSettingsComponent implements OnInit {
|
||||
return this.form.get('authType').value === 'OAUTH';
|
||||
}
|
||||
|
||||
get supportsCodeFlow(): boolean {
|
||||
return this.auth.supportCodeFlow;
|
||||
}
|
||||
|
||||
get providersControl(): UntypedFormControl {
|
||||
return this.form.get('providersControl') as UntypedFormControl;
|
||||
}
|
||||
@@ -264,6 +272,10 @@ export class HostSettingsComponent implements OnInit {
|
||||
return this.oauthConfig.get('implicitFlow') as UntypedFormControl;
|
||||
}
|
||||
|
||||
get codeFlow(): UntypedFormControl {
|
||||
return this.oauthConfig.get('codeFlow') as UntypedFormControl;
|
||||
}
|
||||
|
||||
get silentLogin(): UntypedFormControl {
|
||||
return this.oauthConfig.get('silentLogin') as UntypedFormControl;
|
||||
}
|
||||
|
Reference in New Issue
Block a user