<?php
namespace Claromentis\OAuth2;

$GLOBALS["__65da1b1ec2d66" . "53e8a0ab7848e53" . "6215"] = (@$GLOBALS["__65da1b1ec2d6653e" . "8a0ab7848e536215"] ?: array()) + array("_fc9d7314a9d9" . "958d8fa0a403b" . "a8ff197" => base64_decode("Z2V0X2NsY" . "XNz"), "_9dd6622bc2a9" . "26e02c1cb73fb" . "cf9302c" => base64_decode("T0F1dGgyIC0gcmVxdWV" . "zdCBjb250YWlucyB0b2" . "tlbjog"), "_c69e6552374e" . "0028da2b1bcff" . "2b40629" => base64_decode("T0F1dGgyIG" . "V4Y2VwdGlv" . "biA="), "_d58d9d29845f0d3d62e53f8e87260" . "f39" => base64_decode("cHNyNy5" . "wc3JfZm" . "FjdG9ye" . "Q=="), "_bfca398626e2648b1803e027f7e34" . "7de" => base64_decode("T0F1dG" . "gyIGVy" . "cm9yOi" . "A="), "_5b9126ef1203adad78ba3bb44709" . "b439" => base64_decode("b2F1dG" . "hfdXNl" . "cl9pZA" . "=="), "_70809333a0" . "f254acf7a1a" . "d0c7dadd46b" => base64_decode("OiA" . "="));
use Claromentis\Core\Security\AuthenticatorInterface;
use Claromentis\Core\Security\Exception\BadCredentialsException;
use Claromentis\Core\Security\SessionSecurityContext;
use League\OAuth2\Server\Exception\OAuthServerException;
use Symfony\Bridge\PsrHttpMessage\Factory\DiactorosFactory;
use Symfony\Component\HttpKernel\Event\RequestEvent;
use Psr\Log\LoggerInterface;






class OAuth2Authenticator implements AuthenticatorInterface
{
    private $server;
    private $logger;
    public function __construct(ResourceServer $_9892bd107000e49a32f2013f56e71f64, LoggerInterface $logger = null)
    {
        $this->server = $_9892bd107000e49a32f2013f56e71f64;
        $this->logger = $logger;
    }
    
    
    
    
    
    
    
    
    
    
    
    public function Handle(RequestEvent $event, SessionSecurityContext $_a34812c777e8a5777cd0e658b92f0ab2)
    {
        global $g_application;
        try {
            $request = $event->getRequest();
            
            
            $_6eec82564352e2a97cddf7a7b6ad9a41 = $g_application[$GLOBALS["__65da1b1ec2d" . "6653e8a0ab784" . "8e536215"]["_d58d9d29845f0d3d62e" . "53f8e87260f39"]];
            $request = $_6eec82564352e2a97cddf7a7b6ad9a41->createRequest($request);
            $this->server->setRequest($request);
            $_9fafdb4f169d9de8376037b65724825c = $this->server->determineAccessToken(false);
            $this->logger->debug($GLOBALS["__65da1b1ec2d6653e8a0a" . "b7848e536215"]["_9dd6622bc2" . "a926e02c1cb" . "73fbcf9302c"] . $_9fafdb4f169d9de8376037b65724825c);
        } catch (OAuthServerException $e) {
            
            
            return;
        }
        try {
            
            
            $request = $this->server->getRequest();
            $user_id = $request->getAttribute($GLOBALS["__65da1b1ec2d6653" . "e8a0ab7848e536215"]["_5b9126ef1203" . "adad78ba3bb44" . "709b439"]);
            $_a34812c777e8a5777cd0e658b92f0ab2->SetUserId($user_id);
        } catch (OAuthServerException $e) {
            throw new BadCredentialsException($e->getMessage(), $GLOBALS["__65da1b1ec" . "2d6653e8a0a" . "b7848e53621" . "5"]["_bfca398626e26" . "48b1803e027f7e" . "347de"] . $e->getMessage(), $e->getCode(), $e);
        }
    }
    private function HandleException(OAuthException $e)
    {
        if ($e instanceof \League\OAuth2\Server\Exception\InvalidRequestException) {
            throw (new BadCredentialsException($e->getMessage(), $e->getCode(), $e))->setAuditMessage($GLOBALS["__65da1b1ec2d6653e8a" . "0ab7848e536215"]["_bfca39862" . "6e2648b180" . "3e027f7e34" . "7de"] . $e->getMessage());
        }
        if ($e instanceof \League\OAuth2\Server\Exception\AccessDeniedException) {
            throw new AccessDeniedException($e->getMessage(), 403, $e);
        }
        if ($e instanceof \League\OAuth2\Server\Exception\InvalidCredentialsException) {
            throw (new BadCredentialsException($e->getMessage(), $e->getCode(), $e))->setAuditMessage($GLOBALS["__65da1b1ec2d66" . "53e8a0ab7848e53" . "6215"]["_bfca398626e264" . "8b1803e027f7e34" . "7de"] . $e->getMessage());
        }
        throw (new AuthenticationException($e->getMessage(), $e->getCode(), $e))->setAuditMessage($GLOBALS["__65da1b1ec2d6653e8a0ab7848e53621" . "5"]["_c69e65523" . "74e0028da2" . "b1bcff2b40" . "629"] . $GLOBALS["__65da1b1ec2" . "d6653e8a0ab7" . "848e536215"]["_fc9d7314a9d9958d8" . "fa0a403ba8ff197"]($e) . $GLOBALS["__65da1b1ec2d6653e" . "8a0ab7848e536215"]["_70809333a0f254" . "acf7a1ad0c7dadd" . "46b"] . $e->getMessage());
    }
}