Planificacion y avances de backend

This commit is contained in:
2021-04-29 01:59:08 -04:00
parent 6e4076cf15
commit b6ea4a7ce2
21 changed files with 486 additions and 156 deletions

View File

@@ -3,26 +3,37 @@
namespace App\Http\Middleware;
use Closure;
use App\Models\Usuario;
use Auth0\SDK\Exception\InvalidTokenException;
use Auth0\SDK\Helpers\JWKFetcher;
use Auth0\SDK\Helpers\Tokens\AsymmetricVerifier;
use Auth0\SDK\Helpers\Tokens\TokenVerifier;
use Illuminate\Support\Facades\Log;
class Auth0Middleware {
/**
* @throws InvalidTokenException
*/
public function handle($request, Closure $next) {
$token = $request->bearerToken();
if (!$token) {
return response()->json('No token provided', 401);
return response()->json(['error' => 'no_token', 'message' => 'No se envío el token'], 401);
}
$this->validateToken($token);
$validated = $this->validateToken($token);
$user = Usuario::where('auth0_id', $validated['sub'])->first();
$request = $request->merge(['user' => $user]);
return $next($request);
}
/**
* @throws InvalidTokenException
*/
public function validateToken($token) {
try {
$jwksUri = env('AUTH0_DOMAIN') . '.well-known/jwks.json';
@@ -30,9 +41,9 @@ class Auth0Middleware {
$signatureVerifier = new AsymmetricVerifier($jwksFetcher);
$tokenVerifier = new TokenVerifier(env('AUTH0_DOMAIN'), env('AUTH0_AUD'), $signatureVerifier);
$decoded = $tokenVerifier->verify($token);
return $tokenVerifier->verify($token);
} catch (InvalidTokenException $e) {
throw $e;
};
}
}
}