We help IT Professionals succeed at work.
Get Started

Lumen Authentication: unknown index: provider

SheppardDigital
on
1,856 Views
Last Modified: 2016-02-25
I'm using Lumen for the first time and trying to setup token authentication. After following all of the instructions in the lumen documentation, I'm getting the following error when trying to access a page;

ErrorException in AuthManager.php line 152:
Undefined index: provider
in AuthManager.php line 152
at Application->Laravel\Lumen\Concerns\{closure}('8', 'Undefined index: provider', '/home/webdev/public_html/project/vendor/illuminate/auth/AuthManager.php', '152', array('name' => 'api', 'config' => array('driver' => 'token'))) in AuthManager.php line 152
at AuthManager->createTokenDriver('api', array('driver' => 'token')) in AuthManager.php line 92
at AuthManager->resolve('api') in AuthManager.php line 70
at AuthManager->guard(null) in Authenticate.php line 38
at Authenticate->handle(object(Request), object(Closure))
at call_user_func_array(array(object(Authenticate), 'handle'), array(object(Request), object(Closure))) in Pipeline.php line 124
at Pipeline->Illuminate\Pipeline\{closure}(object(Request))
at call_user_func(object(Closure), object(Request)) in Pipeline.php line 32
at Pipeline->Laravel\Lumen\Routing\{closure}(object(Request))
at call_user_func(object(Closure), object(Request)) in Pipeline.php line 103
at Pipeline->then(object(Closure)) in RoutesRequests.php line 621
at Application->sendThroughPipeline(array('App\Http\Middleware\Authenticate'), object(Closure)) in RoutesRequests.php line 382
at Application->dispatch(object(Request)) in RoutesRequests.php line 327
at Application->run(object(Request)) in index.php line 31

Open in new window


The steps I've taken are;

Uncommented the following in 'bootstrap/app.php'
$app->register(App\Providers\AuthServiceProvider::class);

Open in new window


Also added this line to 'bootstrap/app.php'
$app->middleware([
    App\Http\Middleware\Authenticate::class
]);

Open in new window


I've setup the database connection details in '/env', and I've created a user table which contains an 'api_token' field. Here's the User model;

namespace App;

use Illuminate\Auth\Authenticatable;
use Laravel\Lumen\Auth\Authorizable;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Contracts\Auth\Authenticatable as AuthenticatableContract;
use Illuminate\Contracts\Auth\Access\Authorizable as AuthorizableContract;

/**
 * @property int $id
 * @property bool $active
 * @property string $api_token
 * @property string $full_name
 * @property string $email
 * @property string $username
 * @property string $password
 * @property string $avatar
 * @property string $background
 * @property string $date_last_login
 * @property string $facebook_id
 * @property string $facebook_token
 * @property string $twitter_id
 * @property string $twitter_token
 */
class User extends Model implements AuthenticatableContract, AuthorizableContract
{
    use Authenticatable, Authorizable;

    /**
     * The attributes that are mass assignable.
     *
     * @var array
     */
    protected $fillable = [
        'full_name', 'email',
    ];

    /**
     * The attributes excluded from the model's JSON form.
     *
     * @var array
     */
    protected $hidden = [
        'password',
    ];
}

Open in new window


I have made no changes to the Authentication Middleware, and the AuthServiceProvider also remains exactly the same with no changes.

I've done my best to trace through the lumen code to see where 'provider' is supposed to be set, but I can't seem to find where the issue is.

Can anyone help?
Comment
Watch Question
This problem has been solved!
Unlock 1 Answer and 3 Comments.
See Answer
Why Experts Exchange?

Experts Exchange always has the answer, or at the least points me in the correct direction! It is like having another employee that is extremely experienced.

Jim Murphy
Programmer at Smart IT Solutions

When asked, what has been your best career decision?

Deciding to stick with EE.

Mohamed Asif
Technical Department Head

Being involved with EE helped me to grow personally and professionally.

Carl Webster
CTP, Sr Infrastructure Consultant
Ask ANY Question

Connect with Certified Experts to gain insight and support on specific technology challenges including:

  • Troubleshooting
  • Research
  • Professional Opinions
Did You Know?

We've partnered with two important charities to provide clean water and computer science education to those who need it most. READ MORE