for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace Napp\Core\Api\Auth;
use Illuminate\Auth\TokenGuard;
use Illuminate\Contracts\Auth\UserProvider;
use Illuminate\Http\Request;
/**
* Class ApiGuard.
*/
class ApiGuard extends TokenGuard
{
* @param UserProvider $provider
* @param Request $request
* @param $storageKey
public function __construct(UserProvider $provider, Request $request, $storageKey)
parent::__construct($provider, $request);
$this->storageKey = $storageKey;
}
* @param array $credentials
*
* @return bool
public function attempt(array $credentials = []): bool
$user = $this->provider->retrieveByCredentials($credentials);
if (null === $user) {
return false;
if (true === $this->provider->validateCredentials($user, $credentials)) {
$this->setUser($user);
return true;
* @return string|null
public function getTokenForRequest(): ?string
return $this->request->header(NappHttpHeaders::NAPP_API_KEY);