diff --git a/npm/ng-packs/apps/dev-app/src/environments/environment.ts b/npm/ng-packs/apps/dev-app/src/environments/environment.ts index 45b31e8ef0..1e014dcaa7 100644 --- a/npm/ng-packs/apps/dev-app/src/environments/environment.ts +++ b/npm/ng-packs/apps/dev-app/src/environments/environment.ts @@ -14,7 +14,7 @@ export const environment = { issuer: 'https://localhost:44305/', clientId: 'MyProjectName_App', scope: 'offline_access MyProjectName', - // responseType: 'code', + responseType: 'code', redirectUri: baseUrl, }, apis: { diff --git a/npm/ng-packs/packages/oauth/src/lib/strategies/auth-code-flow-strategy.ts b/npm/ng-packs/packages/oauth/src/lib/strategies/auth-code-flow-strategy.ts index 9825fa953e..77ceb94dbf 100644 --- a/npm/ng-packs/packages/oauth/src/lib/strategies/auth-code-flow-strategy.ts +++ b/npm/ng-packs/packages/oauth/src/lib/strategies/auth-code-flow-strategy.ts @@ -1,10 +1,10 @@ import { noop } from '@abp/ng.core'; import { Params } from '@angular/router'; -import { filter, from, of } from 'rxjs'; +import { from, of } from 'rxjs'; import { AuthFlowStrategy } from './auth-flow-strategy'; import { getRememberMe, removeRememberMe, setRememberMe } from '../utils'; -export class AuthCodeFlowStrategy extends AuthFlowStrategy{ +export class AuthCodeFlowStrategy extends AuthFlowStrategy { readonly isInternalAuth = false; private remember_me = 'remember_me' @@ -15,32 +15,8 @@ export class AuthCodeFlowStrategy extends AuthFlowStrategy{ .init() .then(() => this.oAuthService.tryLogin().catch(noop)) .then(() => this.oAuthService.setupAutomaticSilentRefresh()) - // .then(() => this.listenToTokenExpiration()); } - // private listenToTokenExpiration() { - // this.oAuthService.events - // .pipe( - // filter( - // event => { - // return event instanceof OAuthInfoEvent && - // event.type === 'token_expires' && - // event.info === 'access_token' - // } - // ), - // ) - // .subscribe(() => { - // if (this.oAuthService.getRefreshToken()) { - // console.log('refresh token'); - // this.refreshToken(); - // } else { - // this.oAuthService.logOut(); - // removeRememberMe(this.localStorageService); - // this.configState.refreshAppState().subscribe(); - // } - // }); - // } - private checkRememberMeOption() { const accessToken = this.oAuthService.getAccessToken(); const expireDate = this.oAuthService.getAccessTokenExpiration(); @@ -49,22 +25,19 @@ export class AuthCodeFlowStrategy extends AuthFlowStrategy{ if (accessToken && rememberMe === null) { let parsedToken = JSON.parse(atob(accessToken.split(".")[1])); + let rememberMeValue = parsedToken[this.remember_me]; - if (parsedToken[this.remember_me]) { + if (rememberMeValue && (rememberMeValue === 'True' || rememberMeValue === 'true')) { setRememberMe(true, this.localStorageService); } else { setRememberMe(false, this.localStorageService) } - } - rememberMe = getRememberMe(this.localStorageService); - if (accessToken && expireDate < currentDate && rememberMe === 'false') { + rememberMe = getRememberMe(this.localStorageService); + if (accessToken && expireDate < currentDate && rememberMe !== 'true') { removeRememberMe(this.localStorageService); this.oAuthService.logOut(); - }else{ - console.log('try login'); - this.oAuthService.tryLogin().catch(noop) } } diff --git a/npm/ng-packs/packages/oauth/src/lib/strategies/auth-password-flow-strategy.ts b/npm/ng-packs/packages/oauth/src/lib/strategies/auth-password-flow-strategy.ts index 8936ebd0a5..f8e585d170 100644 --- a/npm/ng-packs/packages/oauth/src/lib/strategies/auth-password-flow-strategy.ts +++ b/npm/ng-packs/packages/oauth/src/lib/strategies/auth-password-flow-strategy.ts @@ -45,9 +45,9 @@ export class AuthPasswordFlowStrategy extends AuthFlowStrategy { const accessToken = this.oAuthService.getAccessToken(); const expireDate = this.oAuthService.getAccessTokenExpiration(); const currentDate = new Date().getTime(); - const rememberMe = getRememberMe(localStorageService) === 'true'; + const rememberMe = getRememberMe(localStorageService); - if (accessToken && expireDate < currentDate && !rememberMe) { + if (accessToken && expireDate < currentDate && rememberMe !== 'true') { removeRememberMe(this.localStorageService); this.oAuthService.logOut(); } @@ -73,6 +73,7 @@ export class AuthPasswordFlowStrategy extends AuthFlowStrategy { ), ).pipe(pipeToLogin(params, this.injector)); } + logout() { const router = this.injector.get(Router); const noRedirectToLogoutUrl = true; @@ -86,7 +87,6 @@ export class AuthPasswordFlowStrategy extends AuthFlowStrategy { } protected refreshToken() { - console.log('token refreshed'); return this.oAuthService.refreshToken().catch(() => { clearOAuthStorage(); removeRememberMe(this.localStorageService); diff --git a/npm/ng-packs/packages/oauth/src/lib/utils/auth-utils.ts b/npm/ng-packs/packages/oauth/src/lib/utils/auth-utils.ts index 9bc14d7e31..0d8fb28fe3 100644 --- a/npm/ng-packs/packages/oauth/src/lib/utils/auth-utils.ts +++ b/npm/ng-packs/packages/oauth/src/lib/utils/auth-utils.ts @@ -9,8 +9,6 @@ import { AbpLocalStorageService, } from '@abp/ng.core'; -const cookieKey = 'rememberMe'; -const storageKey = 'passwordFlow'; const remember_me = 'remember_me'; export const pipeToLogin: PipeToLoginFn = function ( @@ -30,18 +28,16 @@ export const pipeToLogin: PipeToLoginFn = function ( }; export function setRememberMe( - remember: boolean | undefined, + remember: boolean, localStorageService: AbpLocalStorageService, ) { - console.log('set Remember Me'); localStorageService.setItem(remember_me, JSON.stringify(remember)); } export function removeRememberMe(localStorageService: AbpLocalStorageService) { - console.log('remove remember Me'); localStorageService.removeItem(remember_me); } export function getRememberMe(localStorageService: AbpLocalStorageService){ return localStorageService.getItem(remember_me); -} +} \ No newline at end of file