<?php
namespace App\Classes;
use App\User;
use Hash;
class AuthPIN {
private static function getUser($userID){
return User::findOrFail($userID);
}
private static function pinAttempts($userID){
$user = AuthPIN::getUser($userID);
$user->pin_attempts = $user->pin_attempts + 1;
$user->update();
}
private static function getPinAttempts($userID){
$user = AuthPIN::getUser($userID);
return $user->pin_attempts;
}
public static function validatePIN($userID, $pinFornecido, $pinUsuario){
if (Hash::check($pinFornecido, $pinUsuario)) {
$user = AuthPIN::getUser($userID);
$user->pin_attempts = 0;
$user->update();
return true;
}
AuthPIN::pinAttempts($userID);
return false;
}
private function destroyUserAccessToken($accessToken){
$token_parts = explode('.',$accessToken);
$token_header = $token_parts[1];
$token_header_json = base64_decode($token_header);
$token_header_array = json_decode($token_header_json, true);
$token_id = $token_header_array['jti'];
DB::table('oauth_refresh_tokens')->where('access_token_id', $token_id)->update(['revoked' => true]);
$token = Token::find($token_id);
$token->revoke();
}
}