Паспорт не подтвердил запрос

Люди простят меня за мой английский,

На прошлой неделе я должен был изменить этот oauth lucadegasperi / oauth2-server-laravel на паспорт с переходом на laravel 5.6. Однако в моей аутентификации oauth всегда возвращает мне отказано в доступе, мое промежуточное ПО похоже на это.

use Closure;
use Illuminate\Http\Request;
use Response;
use Input;
use Hash;
use App\Usuarios;
use Lang;
use Auth;

use Laravel\Passport\TokenRepository;
use League\OAuth2\Server\ResourceServer;
use League\OAuth2\Server\Exception\OAuthServerException;
use Symfony\Bridge\PsrHttpMessage\Factory\DiactorosFactory;


class OAuth2Middleware {


protected $server;
protected $tokens;

public function __construct(ResourceServer $server, TokenRepository $tokens) {
    $this->server = $server;
    $this->tokens = $tokens;
}



/**
 * Handle an incoming request.
 *
 * @param  \Illuminate\Http\Request  $request
 * @param  \Closure  $next
 * @return mixed
 */
public function handle($request, Closure $next)
{

    try {
        if( $this->validateToken( $request) === null ){

            return $next($request);
        }
    }
    catch (Exception\InvalidRequestException $e) { }
    catch (Exception\AccessDeniedException $e) { }

    $http_codigo = 499;
    $retorno['tipo'] = 'erro';
    $retorno['mensagem'] = Lang::get('webservice.acesso_negado');

    return response( json_encode( $retorno ) , $http_codigo);
}



public function validateToken(Request $request, $localCall = false) {

    try {
        $psr = (new DiactorosFactory)->createRequest($request);
        $psr = $this->server->validateAuthenticatedRequest($psr);

        $token = $this->tokens->find(
            $psr->getAttribute('oauth_access_token_id')
        );

        $currentDate = new DateTime();
        $tokenExpireDate = new DateTime($token->expires_at);

        $isAuthenticated = $tokenExpireDate > $currentDate ? true : false;

        if($localCall) {
            return $isAuthenticated;
        }
        else {
            return json_encode(array('authenticated' => $isAuthenticated));
        }
    } catch (OAuthServerException $e) {
        if($localCall) {
            return false;
        }
        else {
            return json_encode(array('error' => 'Algo ocorreu de errado com a autenticação'));
        }
    }
}

}

но когда вы запускаете этот метод validateAuthenticatedRequest(), возвращайте не авторизовать никогда! Запрос правильный, с информацией на предъявителя и прочей информацией. Что может пойти не так, как надо на основании размещенного кода? Любая помощь приветствуется, я не знаю, что еще делать..

Tks

0 ответов

Другие вопросы по тегам