我想使用Laravel 5.3创建一个API,但是我不需要任何形式的身份验证。是否可以去掉它?我不想要任何令牌或任何形式的身份验证。
我想使用Laravel 5.3创建一个API,但是我不需要任何形式的身份验证。是否可以去掉它?我不想要任何令牌或任何形式的身份验证。
是的,这是可能的,通常在你的
route/api.php
中你会有这样的内容
Route::middleware('auth:api')->get('/user', function (Request $request) {
return $request->user();
});
你只需要删除涉及身份验证的中间件部分即可。因此,上述内容应如下所示:
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'
/app/Providers/RouteServiceProvider.php
中设置的。Route::get('/delegates', "APIController@delegate");
可以通过以下链接进行访问:
http://www.yourdomain.com/api/delegates
如果这有点偏题,请谅解,但我希望能对某些人有所帮助。routes/api.php
文件上创建您的 API 路由,然后修改 app/Http/Kernel.php
文件以正确设置您的中间件:api
中间件组中删除(或添加)您不需要的中间件。api
组上有两个中间件:'api' => [
'throttle:60,1',
'bindings',
],
只要创建到您的控制器的路由并返回数据即可实现(不需要任何身份验证中间件)。
允许您的路由在未经授权的情况下运行
Http\Middleware\VerifyCsrfToken
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";
}