diff --git a/demo-shell/src/app/components/settings/settings.component.html b/demo-shell/src/app/components/settings/settings.component.html index 1e45f7c65c..5ee576ae35 100644 --- a/demo-shell/src/app/components/settings/settings.component.html +++ b/demo-shell/src/app/components/settings/settings.component.html @@ -1 +1,2 @@ +This component is only for internal use diff --git a/demo-shell/src/app/components/settings/settings.component.ts b/demo-shell/src/app/components/settings/settings.component.ts index 11a1fde631..464bcd0eab 100644 --- a/demo-shell/src/app/components/settings/settings.component.ts +++ b/demo-shell/src/app/components/settings/settings.component.ts @@ -34,10 +34,10 @@ export class SettingsComponent { } onCancel() { - this.router.navigate(['/']); + this.router.navigate(['/login']); } onSuccess() { - this.router.navigate(['/']); + this.router.navigate(['/login']); } } diff --git a/docs/core/host-settings.component.md b/docs/core/host-settings.component.md index aa87391442..f454a9db0d 100644 --- a/docs/core/host-settings.component.md +++ b/docs/core/host-settings.component.md @@ -6,7 +6,7 @@ Last reviewed: 2018-06-13 # Host settings component -`This component Note this comonent is not meant to be used in production` +`This component Note this component is not meant to be used in production` Validates the URLs for ACS and APS and saves them in the user's local storage ![Host settings](../docassets/images/host-settings-component.png) diff --git a/lib/core/services/authentication.service.ts b/lib/core/services/authentication.service.ts index fefe00637f..0e6b55c2f3 100644 --- a/lib/core/services/authentication.service.ts +++ b/lib/core/services/authentication.service.ts @@ -22,11 +22,11 @@ import { AlfrescoApiService } from './alfresco-api.service'; import { CookieService } from './cookie.service'; import { LogService } from './log.service'; import { StorageService } from './storage.service'; +import { RedirectionModel } from '../models/redirection.model'; +import { AppConfigService, AppConfigValues } from '../app-config/app-config.service'; import 'rxjs/add/observable/fromPromise'; import 'rxjs/add/operator/catch'; import 'rxjs/add/observable/throw'; -import { RedirectionModel } from '../models/redirection.model'; -import { AppConfigService, AppConfigValues } from '../app-config/app-config.service'; const REMEMBER_ME_COOKIE_KEY = 'ALFRESCO_REMEMBER_ME'; const REMEMBER_ME_UNTIL = 1000 * 60 * 60 * 24 * 30 ; @@ -116,9 +116,10 @@ export class AuthenticationService { * @returns Response event called when logout is complete */ logout() { + this.removeTicket(); + return Observable.fromPromise(this.callApiLogout()) .do(response => { - this.removeTicket(); this.onLogout.next(response); return response; }) diff --git a/lib/core/settings/host-settings.component.ts b/lib/core/settings/host-settings.component.ts index a2786e6429..0361e2e682 100644 --- a/lib/core/settings/host-settings.component.ts +++ b/lib/core/settings/host-settings.component.ts @@ -19,6 +19,7 @@ import { Component, EventEmitter, Output, ViewEncapsulation, OnInit, Input } fro import { Validators, FormGroup, FormBuilder, AbstractControl, FormControl } from '@angular/forms'; import { AppConfigService, AppConfigValues } from '../app-config/app-config.service'; import { StorageService } from '../services/storage.service'; +import { AuthenticationService } from '../services/authentication.service'; import { AlfrescoApiService } from '../services/alfresco-api.service'; import { OauthConfigModel } from '../models/oauth-config.model'; @@ -66,6 +67,7 @@ export class HostSettingsComponent implements OnInit { constructor(private formBuilder: FormBuilder, private storageService: StorageService, + private authenticationService: AuthenticationService, private alfrescoApiService: AlfrescoApiService, private appConfig: AppConfigService) { } @@ -176,7 +178,11 @@ export class HostSettingsComponent implements OnInit { this.storageService.setItem(AppConfigValues.AUTHTYPE, values.authType); this.alfrescoApiService.reset(); - this.success.emit(true); + this.authenticationService.logout().subscribe(() => { + this.success.emit(true); + }, () => { + this.success.emit(true); + }); } private saveOAuthValues(values: any) {