Skip to content

Commit 70dc983

Browse files
committed
Release 2.1.0
1 parent 1a4c3fa commit 70dc983

13 files changed

+35
-38
lines changed

lib/auth-service.d.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ export declare class AuthService implements IAuthService {
7474
protected onAuthorizationNotification(
7575
request: AuthorizationRequest,
7676
response: AuthorizationResponse | null,
77-
error: AuthorizationError | null
77+
error: AuthorizationError | null,
7878
): void;
7979
protected internalAuthorizationCallback(url: string): Promise<void>;
8080
protected internalEndSessionCallback(): Promise<void>;

lib/auth-service.js

+16-18
Original file line numberDiff line numberDiff line change
@@ -170,20 +170,15 @@ export class AuthService {
170170
}
171171
performEndSessionRequest(state) {
172172
return __awaiter(this, void 0, void 0, function* () {
173-
if (this._tokenSubject.value != undefined) {
174-
let requestJson = {
175-
postLogoutRedirectURI: this.authConfig.end_session_redirect_url,
176-
idTokenHint: this._tokenSubject.value.idToken || '',
177-
state: state || undefined,
178-
};
179-
let request = new EndSessionRequest(requestJson);
180-
let returnedUrl = yield this.endSessionHandler.performEndSessionRequest(yield this.configuration, request);
181-
//callback may come from showWindow or via another method
182-
if (returnedUrl != undefined) {
183-
this.endSessionCallback();
184-
}
185-
} else {
186-
//if user has no token they should not be logged in in the first place
173+
let requestJson = {
174+
postLogoutRedirectURI: this.authConfig.end_session_redirect_url,
175+
idTokenHint: this._tokenSubject.value ? this._tokenSubject.value.idToken || '' : '',
176+
state: state || undefined,
177+
};
178+
let request = new EndSessionRequest(requestJson);
179+
let returnedUrl = yield this.endSessionHandler.performEndSessionRequest(yield this.configuration, request);
180+
//callback may come from showWindow or via another method
181+
if (returnedUrl != undefined) {
187182
this.endSessionCallback();
188183
}
189184
});
@@ -226,8 +221,8 @@ export class AuthService {
226221
});
227222
}
228223
requestTokenRefresh() {
229-
var _a;
230224
return __awaiter(this, void 0, void 0, function* () {
225+
var _a;
231226
if (!this._tokenSubject.value) {
232227
throw new Error('No Token Defined!');
233228
}
@@ -302,7 +297,10 @@ export class AuthService {
302297
if (revokeTokens) {
303298
yield this.revokeTokens();
304299
}
305-
yield this.storage.removeItem(TOKEN_RESPONSE_KEY);
300+
const token = yield this.storage.getItem(TOKEN_RESPONSE_KEY);
301+
if (token) {
302+
yield this.storage.removeItem(TOKEN_RESPONSE_KEY);
303+
}
306304
if ((yield this.configuration).endSessionEndpoint) {
307305
yield this.performEndSessionRequest(state).catch((response) => {
308306
this.notifyActionListers(AuthActionBuilder.SignOutFailed(response));
@@ -343,8 +341,8 @@ export class AuthService {
343341
this.notifyActionListers(AuthActionBuilder.SignOutFailed(response));
344342
});
345343
}
346-
getValidToken(buffer = AUTH_EXPIRY_BUFFER) {
347-
return __awaiter(this, void 0, void 0, function* () {
344+
getValidToken() {
345+
return __awaiter(this, arguments, void 0, function* (buffer = AUTH_EXPIRY_BUFFER) {
348346
if (this._tokenSubject.value) {
349347
if (!this._tokenSubject.value.isValid(buffer)) {
350348
yield this.refreshToken();

lib/cordova/cordova-secure-storage.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ export class CordovaSecureStorage extends StorageBackend {
1515
yield CordovaDocument.ready();
1616
return SecureStorage.create(this.KEYSTORE).then(
1717
() => true,
18-
() => false
18+
() => false,
1919
);
2020
});
2121
}

package-lock.json

+2-3
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "ionic-appauth",
3-
"version": "2.0.0",
3+
"version": "2.1.0",
44
"description": "Integration for OpenId/AppAuth-JS into Ionic",
55
"main": "lib/index.js",
66
"scripts": {

src/auth-service.ts

+2-5
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ export class AuthService implements IAuthService {
6969
constructor(
7070
protected browser: Browser = new DefaultBrowser(),
7171
protected storage: StorageBackend = new LocalStorageBackend(),
72-
protected requestor: Requestor = new JQueryRequestor()
72+
protected requestor: Requestor = new JQueryRequestor(),
7373
) {
7474
this.tokenHandler = new BaseTokenRequestHandler(requestor);
7575
this.userInfoHandler = new IonicUserInfoHandler(requestor);
@@ -196,7 +196,7 @@ export class AuthService implements IAuthService {
196196
protected onAuthorizationNotification(
197197
request: AuthorizationRequest,
198198
response: AuthorizationResponse | null,
199-
error: AuthorizationError | null
199+
error: AuthorizationError | null,
200200
) {
201201
let codeVerifier: string | undefined =
202202
request.internal != undefined && this.authConfig.pkce ? request.internal.code_verifier : undefined;
@@ -223,7 +223,6 @@ export class AuthService implements IAuthService {
223223
}
224224

225225
protected async performEndSessionRequest(state?: string): Promise<void> {
226-
227226
let requestJson: EndSessionRequestJson = {
228227
postLogoutRedirectURI: this.authConfig.end_session_redirect_url,
229228
idTokenHint: this._tokenSubject.value ? this._tokenSubject.value.idToken || '' : '',
@@ -236,7 +235,6 @@ export class AuthService implements IAuthService {
236235
if (returnedUrl != undefined) {
237236
this.endSessionCallback();
238237
}
239-
240238
}
241239

242240
protected async performAuthorizationRequest(authExtras?: StringMap, state?: string): Promise<void> {
@@ -350,7 +348,6 @@ export class AuthService implements IAuthService {
350348
}
351349

352350
public async signOut(state?: string, revokeTokens?: boolean) {
353-
354351
if (revokeTokens) {
355352
await this.revokeTokens();
356353
}

src/authorization-request-handler.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ export class IonicAuthorizationRequestHandler extends AuthorizationRequestHandle
2929
private browser: Browser,
3030
private storage: StorageBackend,
3131
utils = new BasicQueryStringUtils(),
32-
private generateRandom = new DefaultCrypto()
32+
private generateRandom = new DefaultCrypto(),
3333
) {
3434
super(utils, generateRandom);
3535
}

src/cordova/cordova-secure-storage.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ export class CordovaSecureStorage extends StorageBackend {
1212
await CordovaDocument.ready();
1313
return SecureStorage.create(this.KEYSTORE).then(
1414
() => true,
15-
() => false
15+
() => false,
1616
);
1717
}
1818

src/end-session-request-handler.ts

+5-2
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,14 @@ export interface EndSessionHandler {
77
}
88

99
export class IonicEndSessionHandler implements EndSessionHandler {
10-
constructor(private browser: Browser, private utils = new BasicQueryStringUtils()) {}
10+
constructor(
11+
private browser: Browser,
12+
private utils = new BasicQueryStringUtils(),
13+
) {}
1114

1215
public async performEndSessionRequest(
1316
configuration: AuthorizationServiceConfiguration,
14-
request: EndSessionRequest
17+
request: EndSessionRequest,
1518
): Promise<string | undefined> {
1619
let url = this.buildRequestUrl(configuration, request);
1720
return this.browser.showWindow(url, request.postLogoutRedirectURI);

test/unit/auth-service.spec.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ async function buildAuthServiceAndInit(withToken: boolean): Promise<AuthService>
3131
userinfo_endpoint: 'userinfo_endpointTest',
3232
};
3333
when(mockedRequestorClass.xhr<AuthorizationServiceConfigurationJson>(anything())).thenReturn(
34-
new Promise((resolve) => resolve(authServiceConfigJson))
34+
new Promise((resolve) => resolve(authServiceConfigJson)),
3535
);
3636
const mockedRequestor = instance(mockedRequestorClass);
3737

test/unit/authorization-request-handler.spec.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -34,12 +34,12 @@ async function performIonicRequestHandlerAuthReq(url: string | undefined, mocked
3434
mockedBrowser,
3535
storage,
3636
undefined,
37-
crypto
37+
crypto,
3838
);
3939

4040
await ionicAuthorizationRequestHandler.performAuthorizationRequest(
4141
mockedAuthorizationServiceConfiguration,
42-
new AuthorizationRequest(authRequestJson, crypto, false)
42+
new AuthorizationRequest(authRequestJson, crypto, false),
4343
);
4444

4545
return storage.getItem(AUTHORIZATION_RESPONSE_KEY);

test/unit/capacitor/capacitor-secure-storage.spec.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ describe('capacitor secure storage Tests', () => {
2222
new Promise((resolve, reject) => {
2323
resolve(value);
2424
reject(null);
25-
})
25+
}),
2626
);
2727
storage.getItem(KEY).then((returnedValue) => {
2828
expect(returnedValue).to.be.equal(value);

test/unit/end-session-request-handler.spec.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ describe('end Session request handler Tests', () => {
2525
const ionicEndSessionHandler: IonicEndSessionHandler = new IonicEndSessionHandler(mockedBrowser);
2626
const urlResult = await ionicEndSessionHandler.performEndSessionRequest(
2727
mockedAuthorizationServiceConfiguration,
28-
mockedEndSessionRequest
28+
mockedEndSessionRequest,
2929
);
3030
expect(urlResult).to.equal(returnedUrl);
3131
});

0 commit comments

Comments
 (0)