*/ protected $policies = []; /** * Register any authentication / authorization services. * * @return void */ public function boot() { $this->registerPolicies(); Auth::viaRequest('api-hmac', function (Request $request) { /** * Un token devrais ĂȘtre fourni pour chaque requete */ if (is_null($request->bearer_token)) { return null; } // * Si la route actuelle n'as pas de nom alors on refuse de la traiter. if (!(Helper::getRoute($request))) { // @codeCoverageIgnoreStart return null; // @codeCoverageIgnoreEnd } $apiToken = null; try { $apiToken = ApiToken::getFromBearerToken($request->bearer_token ?? ''); } catch (ModelNotFoundException $e) { return null; } /** ** All Api routes must pass ApiToken model to controller. ** This hack is a custom binder instead of passing ** this to route as a parameter. */ app()->bind(ApiToken::class, function () use ($apiToken) { return $apiToken; }); // * On authenticate la request en vĂ©rifiant sa signature. if ($apiToken->authenticateApi($request)) { return $apiToken; } return null; }); } }