From cf5c106f64d2e939c4db8c8ca88dfee95697fc13 Mon Sep 17 00:00:00 2001 From: AJ ONeal Date: Wed, 29 Nov 2017 05:30:22 +0000 Subject: [PATCH] correct logout --- navigator.auth.js | 4 ++-- oauth3.core.js | 17 ++++++++++++----- 2 files changed, 14 insertions(+), 7 deletions(-) diff --git a/navigator.auth.js b/navigator.auth.js index dd808ba..077f4c0 100644 --- a/navigator.auth.js +++ b/navigator.auth.js @@ -40,8 +40,8 @@ function create(myOpts) { return session; }); } - , deauthorize: function () { - return OAUTH3.logout(myOpts.conf.provider_uri, { + , logout: function () { + return OAUTH3.logout(myOpts.directives, { client_id: myOpts.conf.client_uri , client_uri: myOpts.conf.client_uri }); diff --git a/oauth3.core.js b/oauth3.core.js index 90b6aed..162ea3c 100644 --- a/oauth3.core.js +++ b/oauth3.core.js @@ -872,12 +872,19 @@ }); }); } - , logout: function(providerUri, opts) { - return OAUTH3.hooks.directives.get(providerUri).then(function (directives) { + , logout: function(issuerUri, opts) { + var directives; + if ('string' !== typeof issuerUri) { + directives = issuerUri; + return OAUTH3._logoutHelper(directives, opts); + } + + return OAUTH3.hooks.directives.get(issuerUri).then(function (directives) { return OAUTH3._logoutHelper(directives, opts); }); } - , _logoutHelper: function(providerUri, directives, opts) { + , _logoutHelper: function(directives, opts) { + var issuerUri = directives.issuer_uri || directives.provider_uri; var logoutReq = OAUTH3.urls.logout( directives , { client_id: (opts.client_id || opts.client_uri || OAUTH3.clientUri(OAUTH3._browser.window.location)) @@ -900,10 +907,10 @@ if (params.error) { // TODO directives.audience - return OAUTH3.PromiseA.reject(OAUTH3.error.parse(directives.issuer /*providerUri*/, params)); + return OAUTH3.PromiseA.reject(OAUTH3.error.parse(directives.issuer /*issuerUri*/, params)); } - OAUTH3.hooks.session.clear(providerUri); + OAUTH3.hooks.session.clear(issuerUri); return params; }); }