Skip to content

Commit b1f5260

Browse files
committed
Merge branch 'dev' into check_session
# Conflicts: # dist/oidc-client.js # dist/oidc-client.min.js # lib/oidc-client.js # lib/oidc-client.min.js
2 parents 408fc0e + 9fe8ab1 commit b1f5260

14 files changed

Lines changed: 263 additions & 464 deletions

dist/oidc-client.js

Lines changed: 66 additions & 196 deletions
Large diffs are not rendered by default.

dist/oidc-client.min.js

Lines changed: 28 additions & 28 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

lib/oidc-client.js

Lines changed: 66 additions & 196 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

lib/oidc-client.min.js

Lines changed: 22 additions & 22 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "oidc-client",
3-
"version": "1.1.0-beta.2",
3+
"version": "1.1.0-beta.4",
44
"description": "OpenID Connect (OIDC) & OAuth2 client library",
55
"main": "lib/oidc-client.min.js",
66
"scripts": {

sample/oidc.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,7 @@ module.exports = function(baseUrl, app) {
143143
var access_token = genAccessToken();
144144
url = addFragment(url, "access_token", access_token);
145145
url = addFragment(url, "token_type", "Bearer");
146-
url = addFragment(url, "expires_in", "300");
146+
url = addFragment(url, "expires_in", "70");
147147
url = addFragment(url, "scope", req.query.scope);
148148
}
149149

src/CordovaPopupWindow.js

Lines changed: 11 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -16,15 +16,6 @@ export default class CordovaPopupWindow {
1616
this._reject = reject;
1717
});
1818

19-
if (!window.cordova) {
20-
return _promise.reject("cordova is undefined")
21-
}
22-
23-
var cordovaMetadata = window.cordova.require("cordova/plugin_list").metadata;
24-
if (this._isInAppBrowserInstalled(cordovaMetadata) === false) {
25-
return _promise.reject("InAppBrowser plugin not found")
26-
}
27-
2819
this.features = params.popupWindowFeatures || DefaultPopupFeatures;
2920
this.target = params.popupWindowTarget || DefaultPopupTarget;
3021

@@ -33,7 +24,7 @@ export default class CordovaPopupWindow {
3324
}
3425

3526
_isInAppBrowserInstalled(cordovaMetadata) {
36-
return ["cordova-plugin-inappbrowser", "org.apache.cordova.inappbrowser"].some(function (name) {
27+
return ["cordova-plugin-inappbrowser", "cordova-plugin-inappbrowser.inappbrowser", "org.apache.cordova.inappbrowser"].some(function (name) {
3728
return cordovaMetadata.hasOwnProperty(name)
3829
})
3930
}
@@ -44,6 +35,14 @@ export default class CordovaPopupWindow {
4435
if (!params || !params.url) {
4536
this._error("No url provided");
4637
} else {
38+
if (!window.cordova) {
39+
return this._error("cordova is undefined")
40+
}
41+
42+
var cordovaMetadata = window.cordova.require("cordova/plugin_list").metadata;
43+
if (this._isInAppBrowserInstalled(cordovaMetadata) === false) {
44+
return this._error("InAppBrowser plugin not found")
45+
}
4746
this._popup = cordova.InAppBrowser.open(params.url, this.target, this.features);
4847
if (this._popup) {
4948
Log.info("popup successfully created");
@@ -89,10 +88,9 @@ export default class CordovaPopupWindow {
8988
_cleanup() {
9089
Log.info("CordovaPopupWindow._cleanup");
9190

92-
this._popup.removeEventListener("exit", this._exitCallbackEvent, false);
93-
this._popup.removeEventListener("loadstart", this._loadStartCallbackEvent, false);
94-
9591
if (this._popup){
92+
this._popup.removeEventListener("exit", this._exitCallbackEvent, false);
93+
this._popup.removeEventListener("loadstart", this._loadStartCallbackEvent, false);
9694
this._popup.close();
9795
}
9896
this._popup = null;

src/MetadataService.js

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -55,23 +55,30 @@ export default class MetadataService {
5555

5656
getCheckSessionIframe() {
5757
Log.info("MetadataService.getCheckSessionIframe");
58-
return this._getMetadataProperty("check_session_iframe");
58+
return this._getMetadataProperty("check_session_iframe", true);
5959
}
6060

6161
getEndSessionEndpoint() {
6262
Log.info("MetadataService.getEndSessionEndpoint");
63-
return this._getMetadataProperty("end_session_endpoint");
63+
return this._getMetadataProperty("end_session_endpoint", true);
6464
}
6565

66-
_getMetadataProperty(name) {
66+
_getMetadataProperty(name, optional=false) {
6767
Log.info("MetadataService._getMetadataProperty", name);
6868

6969
return this.getMetadata().then(metadata => {
7070
Log.info("metadata recieved");
7171

7272
if (metadata[name] === undefined) {
73-
Log.error("Metadata does not contain property " + name);
74-
throw new Error("Metadata does not contain property " + name);
73+
74+
if (optional === true) {
75+
Log.warn("Metadata does not contain optional property " + name);
76+
return undefined;
77+
}
78+
else {
79+
Log.error("Metadata does not contain property " + name);
80+
throw new Error("Metadata does not contain property " + name);
81+
}
7582
}
7683

7784
return metadata[name];

src/OidcClient.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,11 @@ export default class OidcClient {
115115
post_logout_redirect_uri = post_logout_redirect_uri || this._settings.post_logout_redirect_uri;
116116

117117
return this._metadataService.getEndSessionEndpoint().then(url => {
118+
if (!url) {
119+
Log.error("No end session endpoint url returned");
120+
throw new Error("no end session endpoint");
121+
}
122+
118123
Log.info("Received end session endpoint", url);
119124

120125
let request = new SignoutRequest({

src/SilentRenewService.js

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,14 @@ export default class SilentRenewService {
88
constructor(userManager) {
99
this._userManager = userManager;
1010
this._userManager.events.addAccessTokenExpiring(this._tokenExpiring.bind(this));
11+
12+
// this will trigger loading of the user so the expiring events can be initialized
13+
this._userManager.getUser().then(user=>{
14+
// deliberate nop
15+
}).catch(err=>{
16+
// catch to suppress errors since we're in a ctor
17+
Log.error("Error from getUser:", err.message);
18+
});
1119
}
1220

1321
_tokenExpiring() {

0 commit comments

Comments
 (0)