Skip to content

Commit

Permalink
Add PLATFORM_ID for SSR
Browse files Browse the repository at this point in the history
  • Loading branch information
robisim74 committed Jul 8, 2017
1 parent 44ea943 commit f473bb6
Show file tree
Hide file tree
Showing 3 changed files with 32 additions and 23 deletions.
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "angular-auth-oidc-client",
"version": "1.1.4",
"version": "1.1.5",
"description": "An OpenID Connect Implicit Flow client for Angular",
"main": "./bundles/angular-auth-oidc-client.umd.js",
"module": "./modules/angular-auth-oidc-client.es5.js",
Expand Down
1 change: 1 addition & 0 deletions rollup.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ import resolve from 'rollup-plugin-node-resolve';

const globals = {
'@angular/core': 'ng.core',
'@angular/common': 'ng.common',
'@angular/http': 'ng.http',
'@angular/router': 'ng.router',
'rxjs/Rx': 'Rx',
Expand Down
52 changes: 30 additions & 22 deletions src/services/oidc.security.service.ts
Original file line number Diff line number Diff line change
@@ -1,10 +1,12 @@
import { Injectable, EventEmitter, Output } from '@angular/core';
import { PLATFORM_ID, Inject } from '@angular/core';
import { isPlatformBrowser, isPlatformServer } from '@angular/common';
import { Injectable, EventEmitter, Output } from '@angular/core';
import { Http, Response, Headers } from '@angular/http';
import 'rxjs/add/operator/map';
import 'rxjs/add/operator/catch';
import { Observable } from 'rxjs/Rx';
import { Router } from '@angular/router';
import { AuthConfiguration, OpenIDImplicitFlowConfiguration } from '../modules/auth.configuration';
import { AuthConfiguration, OpenIDImplicitFlowConfiguration } from '../modules/auth.configuration';
import { OidcSecurityValidation } from './oidc.security.validation';
import { OidcSecurityCheckSession } from './oidc.security.check-session';
import { OidcSecuritySilentRenew } from './oidc.security.silent-renew';
Expand All @@ -29,6 +31,7 @@ export class OidcSecurityService {
private authWellKnownEndpointsLoaded = false;

constructor(
@Inject(PLATFORM_ID) private platformId: Object,
private http: Http,
private authConfiguration: AuthConfiguration,
private router: Router,
Expand Down Expand Up @@ -60,17 +63,22 @@ export class OidcSecurityService {
}

this.oidcSecurityCommon.logDebug('STS server: ' + this.authConfiguration.stsServer);
this.authWellKnownEndpoints.setupModule();

if (this.authConfiguration.silent_renew) {
this.oidcSecuritySilentRenew.initRenew();
}
if (isPlatformBrowser(this.platformId)) {
// Client only code.
this.authWellKnownEndpoints.setupModule();

if (this.authConfiguration.start_checksession) {
this.oidcSecurityCheckSession.init().subscribe(() => {
this.oidcSecurityCheckSession.pollServerSession(this.authConfiguration.client_id);
});
if (this.authConfiguration.silent_renew) {
this.oidcSecuritySilentRenew.initRenew();
}

if (this.authConfiguration.start_checksession) {
this.oidcSecurityCheckSession.init().subscribe(() => {
this.oidcSecurityCheckSession.pollServerSession(this.authConfiguration.client_id);
});
}
}

}

getToken(): any {
Expand Down Expand Up @@ -301,9 +309,9 @@ export class OidcSecurityService {
}

private successful_validation() {
this.oidcSecurityCommon.store(this.oidcSecurityCommon.storage_auth_nonce, '');
this.oidcSecurityCommon.store(this.oidcSecurityCommon.storage_auth_state_control, '');
this.oidcSecurityCommon.logDebug('AuthorizedCallback token(s) validated, continue');
this.oidcSecurityCommon.store(this.oidcSecurityCommon.storage_auth_nonce, '');
this.oidcSecurityCommon.store(this.oidcSecurityCommon.storage_auth_state_control, '');
this.oidcSecurityCommon.logDebug('AuthorizedCallback token(s) validated, continue');
}

private refreshSession() {
Expand Down Expand Up @@ -425,18 +433,18 @@ export class OidcSecurityService {
.take(10000);

let subscription = source.subscribe(() => {
if (this.isAuthorized) {
if (this.oidcSecurityValidation.isTokenExpired(this.oidcSecurityCommon.retrieve(this.oidcSecurityCommon.storage_id_token))) {
this.oidcSecurityCommon.logDebug('IsAuthorized: id_token isTokenExpired, start silent renew if active');
if (this.isAuthorized) {
if (this.oidcSecurityValidation.isTokenExpired(this.oidcSecurityCommon.retrieve(this.oidcSecurityCommon.storage_id_token))) {
this.oidcSecurityCommon.logDebug('IsAuthorized: id_token isTokenExpired, start silent renew if active');

if (this.authConfiguration.silent_renew) {
this.refreshSession();
} else {
this.resetAuthorizationData(false);
}
if (this.authConfiguration.silent_renew) {
this.refreshSession();
} else {
this.resetAuthorizationData(false);
}
}
},
}
},
(err: any) => {
this.oidcSecurityCommon.logError('Error: ' + err);
},
Expand Down

0 comments on commit f473bb6

Please sign in to comment.