Untitled
unknown
php
2 years ago
1.8 kB
15
Indexable
<?php
try{
$tokens = $this->govBrAuthService->getTokens($request->code);
$userData = $this->govBrAuthService->getUserData($tokens['access_token']);
$cpf = $userData['sub'];
$trustData = $this->govBrAuthService->getTrustData($tokens['access_token'], $cpf);
$userData['nivel'] = $trustData;
$userData['userPhoto'] = $this->govBrAuthService->getUserPhoto($userData['picture'], $tokens['access_token']);
session(['userData' => $userData]);
// Validar e extrair as claims dos tokens
// $accessTokenClaims = $this->govBrAuthService->extractAccessTokenClaims($tokens['access_token']);
//$idTokenClaims = $this->govBrAuthService->extractIdTokenClaims($tokens['id_token']);
// Preparando a URL da imagem com o access token
//$idTokenClaims['userPhoto'] = $this->govBrAuthService->getUserPhoto($idTokenClaims['picture'], $tokens['access_token']);
//$idTokenClaims['nivel'] = $trustData;
//session(['userData' => $idTokenClaims]);
if (!$this->govBrAuthService->hasRequiredTrustLevel($trustData)) {
Log::info('Usuário não possui nível Prata', ['trust_data' => $trustData]);
return redirect('/')->with('error', 'Somente usuários que possuem Conta GOV.BR nos níveis Prata e Ouro poderão participar do processo de votação do CONSEC.');
}
return redirect('identificacao/eleitor');
} catch(\Exception $e) {
Log::error('Erro no callback do GovBr', ['message' => $e->getMessage()]);
return redirect('identificacao/eleitor')->with('error', 'Erro ao autenticar com o GovBr.');
}Editor is loading...
Leave a Comment