You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by ma...@apache.org on 2017/06/16 20:36:22 UTC
[19/50] [abbrv] airavata-php-gateway git commit: AIRAVATA-2342
Support Keycloak OIDC logout
AIRAVATA-2342 Support Keycloak OIDC logout
Project: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/commit/64362fe8
Tree: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/tree/64362fe8
Diff: http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/diff/64362fe8
Branch: refs/heads/develop
Commit: 64362fe8d56e2cc6396f84bf6de422a06fbe1c21
Parents: a37c5aa
Author: Marcus Christie <ma...@iu.edu>
Authored: Tue Mar 28 17:06:41 2017 -0400
Committer: Marcus Christie <ma...@iu.edu>
Committed: Tue Mar 28 17:06:41 2017 -0400
----------------------------------------------------------------------
app/controllers/AccountController.php | 13 +++++--------
app/libraries/Keycloak/Keycloak.php | 9 +++++++++
2 files changed, 14 insertions(+), 8 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/64362fe8/app/controllers/AccountController.php
----------------------------------------------------------------------
diff --git a/app/controllers/AccountController.php b/app/controllers/AccountController.php
index 77b1feb..7900c7c 100644
--- a/app/controllers/AccountController.php
+++ b/app/controllers/AccountController.php
@@ -465,14 +465,11 @@ class AccountController extends BaseController
public function logout()
{
-// Session::flush();
-// if(Config::get('pga_config.wsis')['auth-mode'] == "oauth"){
-// return Redirect::away(WSIS::getOAuthLogoutUrl());
-// }
-// return Redirect::to('home');
-
- Session::flush();
- return Redirect::to('home');
+ Session::flush();
+ if(Config::get('pga_config.wsis')['oauth-grant-type'] == "authorization_code"){
+ return Redirect::away(Keycloak::getOAuthLogoutUrl(URL::to("/")));
+ }
+ return Redirect::to('home');
}
public function allocationRequestView(){
http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/64362fe8/app/libraries/Keycloak/Keycloak.php
----------------------------------------------------------------------
diff --git a/app/libraries/Keycloak/Keycloak.php b/app/libraries/Keycloak/Keycloak.php
index 0bfec52..8c9c1a1 100644
--- a/app/libraries/Keycloak/Keycloak.php
+++ b/app/libraries/Keycloak/Keycloak.php
@@ -168,6 +168,15 @@ class Keycloak {
}
/**
+ * Function to get the OAuth logout url
+ */
+ public function getOAuthLogoutUrl($redirect_uri) {
+ $config = $this->getOpenIDConnectDiscoveryConfiguration();
+ $logout_endpoint = $config->end_session_endpoint;
+ return $logout_endpoint . '?redirect_uri=' . rawurlencode($redirect_uri);
+ }
+
+ /**
* Function to list users
*
* @return Array of usernames