mirror of
https://github.com/DSpace/dspace-angular.git
synced 2025-10-11 20:13:07 +00:00
Added comment
This commit is contained in:
@@ -16,12 +16,6 @@ export class AuthRequestService extends HALEndpointService {
|
|||||||
protected linkName = 'authn';
|
protected linkName = 'authn';
|
||||||
protected browseEndpoint = '';
|
protected browseEndpoint = '';
|
||||||
|
|
||||||
/**
|
|
||||||
* True if authenticated
|
|
||||||
* @type
|
|
||||||
*/
|
|
||||||
private _authenticated = false;
|
|
||||||
|
|
||||||
constructor(protected responseCache: ResponseCacheService,
|
constructor(protected responseCache: ResponseCacheService,
|
||||||
protected requestService: RequestService,
|
protected requestService: RequestService,
|
||||||
@Inject(GLOBAL_CONFIG) protected EnvConfig: GlobalConfig) {
|
@Inject(GLOBAL_CONFIG) protected EnvConfig: GlobalConfig) {
|
||||||
@@ -31,6 +25,7 @@ export class AuthRequestService extends HALEndpointService {
|
|||||||
protected fetchRequest(request: RestRequest): Observable<any> {
|
protected fetchRequest(request: RestRequest): Observable<any> {
|
||||||
const [successResponse, errorResponse] = this.responseCache.get(request.href)
|
const [successResponse, errorResponse] = this.responseCache.get(request.href)
|
||||||
.map((entry: ResponseCacheEntry) => entry.response)
|
.map((entry: ResponseCacheEntry) => entry.response)
|
||||||
|
// TODO to review when https://github.com/DSpace/dspace-angular/issues/217 will be fixed
|
||||||
.do(() => this.responseCache.remove(request.href))
|
.do(() => this.responseCache.remove(request.href))
|
||||||
.partition((response: RestResponse) => response.isSuccessful);
|
.partition((response: RestResponse) => response.isSuccessful);
|
||||||
return Observable.merge(
|
return Observable.merge(
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
import { Injectable } from '@angular/core';
|
import { Injectable } from '@angular/core';
|
||||||
|
|
||||||
import { Observable } from 'rxjs/Observable';
|
import { Observable } from 'rxjs/Observable';
|
||||||
import { filter, map, withLatestFrom } from 'rxjs/operators';
|
import { map, withLatestFrom } from 'rxjs/operators';
|
||||||
|
|
||||||
import { Eperson } from '../eperson/models/eperson.model';
|
import { Eperson } from '../eperson/models/eperson.model';
|
||||||
import { AuthRequestService } from './auth-request.service';
|
import { AuthRequestService } from './auth-request.service';
|
||||||
@@ -20,6 +20,7 @@ import { Router } from '@angular/router';
|
|||||||
import { CookieAttributes } from 'js-cookie';
|
import { CookieAttributes } from 'js-cookie';
|
||||||
|
|
||||||
export const LOGIN_ROUTE = '/login';
|
export const LOGIN_ROUTE = '/login';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The auth service.
|
* The auth service.
|
||||||
*/
|
*/
|
||||||
@@ -43,7 +44,7 @@ export class AuthService {
|
|||||||
// If current route is different from the one setted in authentication guard
|
// If current route is different from the one setted in authentication guard
|
||||||
// and is not the login route, clear redirect url and messages
|
// and is not the login route, clear redirect url and messages
|
||||||
const routeUrlObs = this.store.select(routerStateSelector)
|
const routeUrlObs = this.store.select(routerStateSelector)
|
||||||
.filter((routerState: RouterReducerState) => isNotUndefined(routerState) && isNotUndefined(routerState.state) )
|
.filter((routerState: RouterReducerState) => isNotUndefined(routerState) && isNotUndefined(routerState.state))
|
||||||
.filter((routerState: RouterReducerState) => (routerState.state.url !== LOGIN_ROUTE))
|
.filter((routerState: RouterReducerState) => (routerState.state.url !== LOGIN_ROUTE))
|
||||||
.map((routerState: RouterReducerState) => routerState.state.url);
|
.map((routerState: RouterReducerState) => routerState.state.url);
|
||||||
const redirectUrlObs = this.getRedirectUrl();
|
const redirectUrlObs = this.getRedirectUrl();
|
||||||
@@ -202,7 +203,7 @@ export class AuthService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Check if a token is about to expire
|
* Check if a token is next to be expired
|
||||||
* @returns {boolean}
|
* @returns {boolean}
|
||||||
*/
|
*/
|
||||||
public isTokenExpiring(): Observable<boolean> {
|
public isTokenExpiring(): Observable<boolean> {
|
||||||
@@ -226,6 +227,7 @@ export class AuthService {
|
|||||||
const token = this.getToken();
|
const token = this.getToken();
|
||||||
return token && token.expires < Date.now();
|
return token && token.expires < Date.now();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Save authentication token info
|
* Save authentication token info
|
||||||
*
|
*
|
||||||
@@ -234,7 +236,7 @@ export class AuthService {
|
|||||||
*/
|
*/
|
||||||
public storeToken(token: AuthTokenInfo) {
|
public storeToken(token: AuthTokenInfo) {
|
||||||
const expires = new Date(token.expires);
|
const expires = new Date(token.expires);
|
||||||
const options: CookieAttributes = { expires: expires };
|
const options: CookieAttributes = {expires: expires};
|
||||||
return this.storage.set(TOKENITEM, token, options);
|
return this.storage.set(TOKENITEM, token, options);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -67,6 +67,7 @@ export class RequestService {
|
|||||||
.flatMap((uuid: string) => this.getByUUID(uuid));
|
.flatMap((uuid: string) => this.getByUUID(uuid));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// TODO to review "overrideRequest" param when https://github.com/DSpace/dspace-angular/issues/217 will be fixed
|
||||||
configure<T extends CacheableObject>(request: RestRequest, overrideRequest: boolean = false): void {
|
configure<T extends CacheableObject>(request: RestRequest, overrideRequest: boolean = false): void {
|
||||||
if (request.method !== RestRequestMethod.Get || !this.isCachedOrPending(request) || overrideRequest) {
|
if (request.method !== RestRequestMethod.Get || !this.isCachedOrPending(request) || overrideRequest) {
|
||||||
this.dispatchRequest(request, overrideRequest);
|
this.dispatchRequest(request, overrideRequest);
|
||||||
|
Reference in New Issue
Block a user