#api #laravel #authentication #restful-architecture
#API #laravel #аутентификация #restful-архитектура
Вопрос:
Я хочу создать API с Laravel 5.3, но мне не нужна какая-либо аутентификация. Можно ли от этого избавиться? Мне не нужен какой-либо токен или какой-либо вид аутентификации.
Комментарии:
1. Да, это возможно
Ответ №1:
Да, обычно это возможно в вашем
route/api.php
у вас было бы что-то вроде
Route::middleware('auth:api')->get('/user', function (Request $request) {
return $request->user();
});
вам просто нужно удалить часть промежуточного программного обеспечения, которая ссылается на auth.
Итак, вышесказанное будет выглядеть так:
Route::middleware('api')->get('/user', function (Request $request) {
return $request->user();
//middleware('api') URI prefix. which would become '/api/user'
});
или
Route::apiResource('user', 'UserController');
//same as above but includes crud methods excluding 'create and edit'
Ответ №2:
Чтобы помочь любому в моей ситуации, кто прибудет сюда : имейте в виду, что любой маршрут в api.php имеет префикс «api/». Он установлен в /app/Providers/RouteServiceProvider.php
.
Итак :
Route::get('/delegates', "APIController@delegate");
Будет доступен из
http://www.yourdomain.com/api/delegates
Извините, если это немного не по теме, но надеюсь, это кому-то поможет.
Ответ №3:
Конечно, вы можете избавиться от него. Просто настройте свои маршруты так, чтобы они не использовали промежуточное программное обеспечение.
Создайте свои маршруты API в routes/api.php
файле, затем измените app/Http/Kernel.php
файл, чтобы правильно настроить промежуточные программы:
Удалите (или добавьте) промежуточные программы, которые вам не нужны в api
группе промежуточного программного обеспечения.
По умолчанию L5.3 поставляется с двумя промежуточными программами в api
группе:
'api' => [
'throttle:60,1',
'bindings',
],
Первый обеспечивает ограничение скорости для вашего API (60 запросов в минуту),
второй заменяет привязки вашей модели.
Ответ №4:
Это возможно, просто создайте маршрут к вашему контроллеру и верните данные (без какого-либо промежуточного программного обеспечения аутентификации).
Ответ №5:
Разрешить запуск вашего маршрута без авторизации
HttpMiddlewareVerifyCsrfToken
public function handle($request, Closure $next)
{
if (!$request->is('api/*'))
{
return parent::handle($request, $next);
}
return $next($request);
}
Задайте маршрут следующим образом
'api' => 'APIController'
Это метод в ApiController (‘/api/data’)
public function getData(Request $request)
{
return "Hello";
}
Комментарии:
1. Промежуточное программное обеспечение VerifyCsrfToken не является тем, кто проверяет подлинность пользователей. Ваш ответ не решает проблему аутентификации.