public function BynderOAuthLogin::oAuth in Bynder 4.0.x
Same name and namespace in other branches
- 8.3 src/Controller/BynderOAuthLogin.php \Drupal\bynder\Controller\BynderOAuthLogin::oAuth()
- 8 src/Controller/BynderOAuthLogin.php \Drupal\bynder\Controller\BynderOAuthLogin::oAuth()
- 8.2 src/Controller/BynderOAuthLogin.php \Drupal\bynder\Controller\BynderOAuthLogin::oAuth()
The oAuth login controller.
File
- src/
Controller/ BynderOAuthLogin.php, line 64
Class
- BynderOAuthLogin
- Controller for oAuth login.
Namespace
Drupal\bynder\ControllerCode
public function oAuth(Request $request) {
try {
if ($request->query
->get('code')) {
$this->bynder
->finishOAuthTokenRetrieval($request->query
->get('code'));
return [
'#markup' => '<script>window.close()</script>',
'#allowed_tags' => [
'script',
],
];
}
else {
$url = $this->bynder
->initiateOAuthTokenRetrieval();
$response = new TrustedRedirectResponse($url
->toString(), SymfonyResponse::HTTP_SEE_OTHER);
$response
->setMaxAge(-1);
return $response;
}
} catch (\Exception $e) {
(new UnableToConnectException())
->displayMessage();
$this->logger
->get('bynder')
->error('Bynder OAuth login failed: @message', [
'@message' => $e
->getMessage(),
]);
return [];
}
}