При использовании метода authenticate()
, пользовательская модель извлекается так это означает, что id
вы это не идентификатор, но в User
. Вы уже проверили the documentation of JWT, потому что в первую очередь вы должны получить пользователь и этого достаточно:
$user = \JWTAuth::parseToken()->authenticate();
Тогда, если у вас есть поле, например в вашем users
таблицы, чтобы сказать, если пользователь имеет право сказать admin
, который может быть 1 или 0, то вы можете сделать следующее:
if($user->admin == 1)
{
$offer = Offer::findOrFail(1); //say id
$offer->delete();
return response()->json(["offer" => $offer]);
}
return response()->json(['error' => 'you dont have the right to delete this'], 403);
Просто немного царапины на идее, но мой лучший совет, чтобы сделать некоторые поисковые запросы о том, как реализуются JWT, я уверен, вы найдете тонны их онлайн.
Могу ли я использовать промежуточное программное обеспечение для этого? – Darama
Уверен, вы можете использовать промежуточное программное обеспечение для этого. Таким образом, попытка аутентификации в промежуточном программном обеспечении, и если она будет успешной, тогда эта функция destroy() в контроллере может быть выполнена. Вы имеете в виду, что я должен привести пример о том, как это можно сделать? –