Loading src/Controller/KeycloakController.php +16 −6 Original line number Diff line number Diff line Loading @@ -6,6 +6,7 @@ use Drupal\Core\Controller\ControllerBase; use Drupal\Core\Session\AccountProxyInterface; use Drupal\keycloak\Service\KeycloakServiceInterface; use Drupal\openid_connect\OpenIDConnectClaims; use Drupal\openid_connect\OpenIDConnectSession; use Drupal\openid_connect\Plugin\OpenIDConnectClientPluginManager; use Symfony\Component\DependencyInjection\ContainerInterface; use Symfony\Component\HttpFoundation\RequestStack; Loading Loading @@ -40,6 +41,13 @@ class KeycloakController extends ControllerBase { */ protected $claims; /** * The OpenID Connect Session. * * @var \Drupal\openid_connect\OpenIDConnectSession */ protected $session; /** * The request stack used to access request globals. * Loading @@ -65,6 +73,8 @@ class KeycloakController extends ControllerBase { * The OpenID Connect plug-in manager. * @param \Drupal\openid_connect\OpenIDConnectClaims $claims * The OpenID Connect claims. * @param \Drupal\openid_connect\OpenIDConnectSession $session * The OpenID Connect session. * @param \Symfony\Component\HttpFoundation\RequestStack $request_stack * The request stack. */ Loading @@ -73,12 +83,14 @@ class KeycloakController extends ControllerBase { AccountProxyInterface $current_user, OpenIDConnectClientPluginManager $plugin_manager, OpenIDConnectClaims $claims, OpenIDConnectSession$session, RequestStack $request_stack ) { $this->keycloak = $keycloak; $this->currentUser = $current_user; $this->pluginManager = $plugin_manager; $this->claims = $claims; $this->session = $session; $this->requestStack = $request_stack; } Loading @@ -91,6 +103,7 @@ class KeycloakController extends ControllerBase { $container->get('current_user'), $container->get('plugin.manager.openid_connect_client'), $container->get('openid_connect.claims'), $container->get('openid_connect.session'), $container->get('request_stack') ); } Loading @@ -99,7 +112,7 @@ class KeycloakController extends ControllerBase { * Login the user using the Keycloak openid_connect client. */ public function login() { openid_connect_save_destination(); $this->session->saveDestination(); $client_name = 'keycloak'; $configuration = $this->config('openid_connect.settings.keycloak') Loading @@ -110,9 +123,7 @@ class KeycloakController extends ControllerBase { ); $scopes = $this->claims->getScopes(); $_SESSION['openid_connect_op'] = 'login'; $response = $client->authorize($scopes); return $response; return $client->authorize($scopes); } /** Loading Loading @@ -140,8 +151,7 @@ class KeycloakController extends ControllerBase { } if (!empty($rp_signout[KeycloakServiceInterface::KEYCLOAK_SESSION_ID_TOKEN])) { $response = $this->keycloak->getKeycloakSignoutResponse($rp_signout); return $response; return $this->keycloak->getKeycloakSignoutResponse($rp_signout); } return $this->redirect('<front>'); Loading Loading
src/Controller/KeycloakController.php +16 −6 Original line number Diff line number Diff line Loading @@ -6,6 +6,7 @@ use Drupal\Core\Controller\ControllerBase; use Drupal\Core\Session\AccountProxyInterface; use Drupal\keycloak\Service\KeycloakServiceInterface; use Drupal\openid_connect\OpenIDConnectClaims; use Drupal\openid_connect\OpenIDConnectSession; use Drupal\openid_connect\Plugin\OpenIDConnectClientPluginManager; use Symfony\Component\DependencyInjection\ContainerInterface; use Symfony\Component\HttpFoundation\RequestStack; Loading Loading @@ -40,6 +41,13 @@ class KeycloakController extends ControllerBase { */ protected $claims; /** * The OpenID Connect Session. * * @var \Drupal\openid_connect\OpenIDConnectSession */ protected $session; /** * The request stack used to access request globals. * Loading @@ -65,6 +73,8 @@ class KeycloakController extends ControllerBase { * The OpenID Connect plug-in manager. * @param \Drupal\openid_connect\OpenIDConnectClaims $claims * The OpenID Connect claims. * @param \Drupal\openid_connect\OpenIDConnectSession $session * The OpenID Connect session. * @param \Symfony\Component\HttpFoundation\RequestStack $request_stack * The request stack. */ Loading @@ -73,12 +83,14 @@ class KeycloakController extends ControllerBase { AccountProxyInterface $current_user, OpenIDConnectClientPluginManager $plugin_manager, OpenIDConnectClaims $claims, OpenIDConnectSession$session, RequestStack $request_stack ) { $this->keycloak = $keycloak; $this->currentUser = $current_user; $this->pluginManager = $plugin_manager; $this->claims = $claims; $this->session = $session; $this->requestStack = $request_stack; } Loading @@ -91,6 +103,7 @@ class KeycloakController extends ControllerBase { $container->get('current_user'), $container->get('plugin.manager.openid_connect_client'), $container->get('openid_connect.claims'), $container->get('openid_connect.session'), $container->get('request_stack') ); } Loading @@ -99,7 +112,7 @@ class KeycloakController extends ControllerBase { * Login the user using the Keycloak openid_connect client. */ public function login() { openid_connect_save_destination(); $this->session->saveDestination(); $client_name = 'keycloak'; $configuration = $this->config('openid_connect.settings.keycloak') Loading @@ -110,9 +123,7 @@ class KeycloakController extends ControllerBase { ); $scopes = $this->claims->getScopes(); $_SESSION['openid_connect_op'] = 'login'; $response = $client->authorize($scopes); return $response; return $client->authorize($scopes); } /** Loading Loading @@ -140,8 +151,7 @@ class KeycloakController extends ControllerBase { } if (!empty($rp_signout[KeycloakServiceInterface::KEYCLOAK_SESSION_ID_TOKEN])) { $response = $this->keycloak->getKeycloakSignoutResponse($rp_signout); return $response; return $this->keycloak->getKeycloakSignoutResponse($rp_signout); } return $this->redirect('<front>'); Loading