php – Laravel 5.3 API

用户在浏览器上输入用户名和密码并成功登录时.

我喜欢在用户登录后发出一些API请求.

Laravel 5.3在routes文件夹中提供api.PHP.

在api.PHP我已经包括

Route::group(['middleware' => ['auth']], function () {
    Route::get('/test', function (Request $request) {
         return response()->json(['name' => 'test']);
    });
});

在浏览器上请求domain.com/api/test时,出于某种原因它会重定向到/ home?

不需要API令牌.

解决方法:

如果要在api.PHP中指定路由,则需要使用auth:api中间件.所以使用你的例子就是:

Route::group(['middleware' => ['auth:api']], function () {
    Route::get('/test', function (Request $request) {
         return response()->json(['name' => 'test']);
    });
});

关于Token auth和Laravel 5.3的注意事项:

>如果您设置了laravel的认身份验证系统,则还需要为用户添加api_token列.如果您使用数据库播种机,您可能需要添加以下内容
$table-> char(‘api_token’,60) – > nullable();
给你的用户表播种机.或者,只需手动添加列,并使用随机的60-char键填充该列.
>发出请求时,您可以将api_token添加为URL / Querystring参数,如下所示:
domain.com/api/test?api_token=[your 60 char key].
您也可以将密钥作为标题发送(如果使用Postman或类似),即:
标题:授权,价值:持票人[你的60个字符密钥].
>如果令牌不正确,我命令获得有用的错误,而不仅仅是重定向登录,还发送包含所有请求的以下标头:
标题:接受,价值:application / json.这允许在App / Exceptions / Handler.PHP中的unauthenticated()函数中的expectedJson()检查正常工作.

我发现很难从Laravel找到关于使用带有5.3的令牌认证的明确文档,我认为这是因为有一个驱动器可以使用Passport,它以不同的方式支持令牌.这篇文章可能有助于大多数工作:https://gistlog.co/JacobBennett/090369fbab0b31130b51

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...