Skip to content

Instantly share code, notes, and snippets.

@joshcanhelp
Last active January 29, 2019 23:34
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save joshcanhelp/9e053766203c3514e89776487acbedf2 to your computer and use it in GitHub Desktop.
Save joshcanhelp/9e053766203c3514e89776487acbedf2 to your computer and use it in GitHub Desktop.
Laravel middleware for access token verification on an API
<?php
// app/Http/Middleware/CheckJWT.php
namespace App\Http\Middleware;
use Closure;
use Auth0\SDK\JWTVerifier;
class CheckJWT {
public function handle($request, Closure $next) {
$accessToken = $request->bearerToken();
if ( empty( $accessToken ) ) {
return response()->json(['message' => 'Bearer token missing'], 401);
}
$laravelConfig = config('laravel-auth0');
$jwtConfig = [
'authorized_iss' => $laravelConfig['authorized_issuers'],
'valid_audiences' => [ $laravelConfig['api_identifier'] ],
'supported_algs' => $laravelConfig['supported_algs'],
];
try {
$jwtVerifier = new JWTVerifier( $jwtConfig );
$decodedToken = $jwtVerifier->verifyAndDecode( $accessToken );
} catch ( \Exception $e) {
return response()->json(['message' => $e->getMessage()], 401);
}
return $next($request);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment