Rob*_*Rob 5 php laravel lumen lumen-5.2
根本无法让Lumen身份验证工作.
我有一个全新的安装,并尝试按照这里的文档:
https://lumen.laravel.com/docs/5.2/authentication
我已取消注释文件中的AuthProvider行app.php(以及其他所有内容,外观等).然后在一个简单的控制器中我就做了dd(Auth::use()).
我无法绕过这个错误:
Undefined index: provider
in AuthManager.php line 152
at Application->Laravel\Lumen\Concerns\{closure}('8', 'Undefined index: provider', '/home/vagrant/Code/gryd/api.gryd.com/vendor/illuminate/auth/AuthManager.php', '152', array('name' => 'api', 'config' => array('driver' => 'token'))) in AuthManager.php line 152
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
编辑:
因为有人要求提供代码示例.
把它放在路线中:
$ app-> get('/ api/v1/users/{id}',function(){dd(\ Auth :: user());});
小智 7
这是我到目前为止所做的,这是有效但不完全是我喜欢它.以下适用于基于令牌的身份验证,这是Lumen中的默认设置.
注册routeMiddleware并AuthServiceProvider取消注释以下行bootstrap/app.php.
$app->routeMiddleware([
'auth' => App\Http\Middleware\Authenticate::class,
]);
Run Code Online (Sandbox Code Playgroud)
和
$app->register(App\Providers\AuthServiceProvider::class);
Run Code Online (Sandbox Code Playgroud)
复制vendor/laravel/lumen-framework/config/auth.php到config/auth.php.config如果必须,创建根文件夹.
里面我们会发现四个项目(defaults,guards,providers,passwords).我们关注前三个问题.
首先,我们将默认防护命名为ABC.
'defaults' => [
'guard' => env('AUTH_GUARD', 'ABC'),
],
Run Code Online (Sandbox Code Playgroud)
接下来我们定义ABC后卫token作为其驱动程序,并XYZ作为其供应商.
'guards' => [
'ABC' => [
'driver' => 'token',
'provider' => 'XYZ'
],
],
Run Code Online (Sandbox Code Playgroud)
和XYZ提供商与定义eloquent为驾驶员和App\User::class作为模型.
'providers' => [
'XYZ' => [
'driver' => 'eloquent',
'model' => App\User::class,
],
],
Run Code Online (Sandbox Code Playgroud)
最后,我们auth像往常一样在路由设置中使用中间件.
$app->group(['middleware' => 'auth'], function () use ($app) {
Run Code Online (Sandbox Code Playgroud)
所以这就是让令牌认证正常运行的原因.它使用api_tokenusers表中的字段进行身份验证,可以在其中找到TokenGuard.
我还没有发现什么样的影响AuthServiceProvider和$this->app['auth']->viaRequest('api', function ($request) {对我的应用程序呢.
好吧,我仍然没有找到如何通过更改 api 请求类型.env。但目前看来,将其切换为token有效。
变成。Auth::viaRequest('api', functiAuth::viaRequest('token', funct
| 归档时间: |
|
| 查看次数: |
11626 次 |
| 最近记录: |