From fc1ae26c27f02643c4312ce9eb472554377fba8b Mon Sep 17 00:00:00 2001 From: muhammedaltug Date: Wed, 9 Jun 2021 19:00:24 +0300 Subject: [PATCH 1/3] queryParams added to logout Func --- .../packages/core/src/lib/services/auth.service.ts | 4 ++-- .../core/src/lib/strategies/auth-flow.strategy.ts | 10 +++++----- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/npm/ng-packs/packages/core/src/lib/services/auth.service.ts b/npm/ng-packs/packages/core/src/lib/services/auth.service.ts index 752721e41a..3a1dadc4cb 100644 --- a/npm/ng-packs/packages/core/src/lib/services/auth.service.ts +++ b/npm/ng-packs/packages/core/src/lib/services/auth.service.ts @@ -41,8 +41,8 @@ export class AuthService { .toPromise(); } - logout(): Observable { - return this.strategy.logout(); + logout(queryParams?: Params): Observable { + return this.strategy.logout(queryParams); } /** diff --git a/npm/ng-packs/packages/core/src/lib/strategies/auth-flow.strategy.ts b/npm/ng-packs/packages/core/src/lib/strategies/auth-flow.strategy.ts index 1d79311f9c..8594e44bca 100644 --- a/npm/ng-packs/packages/core/src/lib/strategies/auth-flow.strategy.ts +++ b/npm/ng-packs/packages/core/src/lib/strategies/auth-flow.strategy.ts @@ -40,7 +40,7 @@ export abstract class AuthFlowStrategy { abstract checkIfInternalAuth(): boolean; abstract navigateToLogin(queryParams?: Params): void; - abstract logout(): Observable; + abstract logout(queryParams?: Params): Observable; abstract login(params?: LoginParams): Observable; private catchError = err => this.store.dispatch(new RestOccurError(err)); @@ -115,8 +115,8 @@ export class AuthCodeFlowStrategy extends AuthFlowStrategy { return false; } - logout() { - return from(this.oAuthService.revokeTokenAndLogout()); + logout(queryParams?: Params) { + return from(this.oAuthService.revokeTokenAndLogout(queryParams)); } login() { @@ -203,10 +203,10 @@ export class AuthPasswordFlowStrategy extends AuthFlowStrategy { ); } - logout() { + logout(queryParams?: Params) { const router = this.injector.get(Router); - return from(this.oAuthService.revokeTokenAndLogout()).pipe( + return from(this.oAuthService.revokeTokenAndLogout(queryParams)).pipe( switchMap(() => this.appConfigService.get()), tap(res => { this.configState.setState(res); From 32de9da31155c77a484fe0b0f421d28e2b0fdb20 Mon Sep 17 00:00:00 2001 From: muhammedaltug Date: Fri, 11 Jun 2021 12:45:21 +0300 Subject: [PATCH 2/3] send culture and ui-culture parameters at logout --- .../core/src/lib/strategies/auth-flow.strategy.ts | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/npm/ng-packs/packages/core/src/lib/strategies/auth-flow.strategy.ts b/npm/ng-packs/packages/core/src/lib/strategies/auth-flow.strategy.ts index 8594e44bca..7c08da76a2 100644 --- a/npm/ng-packs/packages/core/src/lib/strategies/auth-flow.strategy.ts +++ b/npm/ng-packs/packages/core/src/lib/strategies/auth-flow.strategy.ts @@ -2,13 +2,7 @@ import { HttpHeaders } from '@angular/common/http'; import { Injector } from '@angular/core'; import { Params, Router } from '@angular/router'; import { Store } from '@ngxs/store'; -import { - AuthConfig, - OAuthErrorEvent, - OAuthInfoEvent, - OAuthService, - OAuthStorage, -} from 'angular-oauth2-oidc'; +import { AuthConfig, OAuthErrorEvent, OAuthInfoEvent, OAuthService, OAuthStorage } from 'angular-oauth2-oidc'; import { from, Observable, of } from 'rxjs'; import { filter, switchMap, tap } from 'rxjs/operators'; import { RestOccurError } from '../actions/rest.actions'; @@ -116,7 +110,9 @@ export class AuthCodeFlowStrategy extends AuthFlowStrategy { } logout(queryParams?: Params) { - return from(this.oAuthService.revokeTokenAndLogout(queryParams)); + const lang = this.sessionState.getLanguage(); + const culture = { culture: lang, 'ui-culture': lang }; + return from(this.oAuthService.revokeTokenAndLogout({ ...(lang && culture), ...queryParams })); } login() { From 60c51c1de0533d64d4fa423a08056269ce8403bd Mon Sep 17 00:00:00 2001 From: muhammedaltug Date: Tue, 15 Jun 2021 15:29:21 +0300 Subject: [PATCH 3/3] send culture params to initCodeFlow methods --- .../src/lib/strategies/auth-flow.strategy.ts | 34 ++++++++++++------- 1 file changed, 21 insertions(+), 13 deletions(-) diff --git a/npm/ng-packs/packages/core/src/lib/strategies/auth-flow.strategy.ts b/npm/ng-packs/packages/core/src/lib/strategies/auth-flow.strategy.ts index 7c08da76a2..eae95c6a4d 100644 --- a/npm/ng-packs/packages/core/src/lib/strategies/auth-flow.strategy.ts +++ b/npm/ng-packs/packages/core/src/lib/strategies/auth-flow.strategy.ts @@ -2,7 +2,13 @@ import { HttpHeaders } from '@angular/common/http'; import { Injector } from '@angular/core'; import { Params, Router } from '@angular/router'; import { Store } from '@ngxs/store'; -import { AuthConfig, OAuthErrorEvent, OAuthInfoEvent, OAuthService, OAuthStorage } from 'angular-oauth2-oidc'; +import { + AuthConfig, + OAuthErrorEvent, + OAuthInfoEvent, + OAuthService, + OAuthStorage, +} from 'angular-oauth2-oidc'; import { from, Observable, of } from 'rxjs'; import { filter, switchMap, tap } from 'rxjs/operators'; import { RestOccurError } from '../actions/rest.actions'; @@ -32,10 +38,10 @@ export abstract class AuthFlowStrategy { protected sessionState: SessionStateService; protected appConfigService: AbpApplicationConfigurationService; - abstract checkIfInternalAuth(): boolean; + abstract checkIfInternalAuth(queryParams?: Params): boolean; abstract navigateToLogin(queryParams?: Params): void; abstract logout(queryParams?: Params): Observable; - abstract login(params?: LoginParams): Observable; + abstract login(params?: LoginParams | Params): Observable; private catchError = err => this.store.dispatch(new RestOccurError(err)); @@ -99,26 +105,28 @@ export class AuthCodeFlowStrategy extends AuthFlowStrategy { } navigateToLogin(queryParams?: Params) { - const lang = this.sessionState.getLanguage(); - const culture = { culture: lang, 'ui-culture': lang }; - this.oAuthService.initCodeFlow(null, { ...(lang && culture), ...queryParams }); + this.oAuthService.initCodeFlow('', this.getCultureParams(queryParams)); } - checkIfInternalAuth() { - this.oAuthService.initCodeFlow(); + checkIfInternalAuth(queryParams?: Params) { + this.oAuthService.initCodeFlow('', this.getCultureParams(queryParams)); return false; } logout(queryParams?: Params) { - const lang = this.sessionState.getLanguage(); - const culture = { culture: lang, 'ui-culture': lang }; - return from(this.oAuthService.revokeTokenAndLogout({ ...(lang && culture), ...queryParams })); + return from(this.oAuthService.revokeTokenAndLogout(this.getCultureParams(queryParams))); } - login() { - this.oAuthService.initCodeFlow(); + login(queryParams?: Params) { + this.oAuthService.initCodeFlow('', this.getCultureParams(queryParams)); return of(null); } + + private getCultureParams(queryParams?: Params) { + const lang = this.sessionState.getLanguage(); + const culture = { culture: lang, 'ui-culture': lang }; + return { ...(lang && culture), ...queryParams }; + } } export class AuthPasswordFlowStrategy extends AuthFlowStrategy {