Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
…into dev
  • Loading branch information
brockallen committed Feb 10, 2019
2 parents c7cf6e5 + 1eb28c4 commit cbcf2a6
Show file tree
Hide file tree
Showing 3 changed files with 18 additions and 3 deletions.
6 changes: 4 additions & 2 deletions src/OidcClient.js
Original file line number Diff line number Diff line change
Expand Up @@ -123,12 +123,13 @@ export class OidcClient {
});
}

createSignoutRequest({id_token_hint, data, state, post_logout_redirect_uri} = {},
createSignoutRequest({id_token_hint, data, state, post_logout_redirect_uri, extraQueryParams } = {},
stateStore
) {
Log.debug("OidcClient.createSignoutRequest");

post_logout_redirect_uri = post_logout_redirect_uri || this._settings.post_logout_redirect_uri;
extraQueryParams = extraQueryParams || this._settings.extraQueryParams;

return this._metadataService.getEndSessionEndpoint().then(url => {
if (!url) {
Expand All @@ -142,7 +143,8 @@ export class OidcClient {
url,
id_token_hint,
post_logout_redirect_uri,
data: data || state
data: data || state,
extraQueryParams
});

var signoutState = request.state;
Expand Down
6 changes: 5 additions & 1 deletion src/SignoutRequest.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import { UrlUtility } from './UrlUtility';
import { State } from './State';

export class SignoutRequest {
constructor({url, id_token_hint, post_logout_redirect_uri, data}) {
constructor({url, id_token_hint, post_logout_redirect_uri, data, extraQueryParams}) {
if (!url) {
Log.error("SignoutRequest.ctor: No url passed");
throw new Error("url");
Expand All @@ -26,6 +26,10 @@ export class SignoutRequest {
}
}

for(let key in extraQueryParams){
url = UrlUtility.addQueryParam(url, key, extraQueryParams[key])
}

this.url = url;
}
}
9 changes: 9 additions & 0 deletions test/unit/SignoutRequest.spec.js
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,15 @@ describe("SignoutRequest", function() {
url.should.contain("state=" + subject.state.id);
});

it("should include extra query params", function() {
settings.extraQueryParams = {
'TargetResource': 'logouturl.com',
'InErrorResource': 'errorurl.com'
};
subject = new SignoutRequest(settings);
subject.url.should.contain('TargetResource=logouturl.com&InErrorResource=errorurl.com');
});

});

});

0 comments on commit cbcf2a6

Please sign in to comment.