I came across this issue because I setup a custom model to serve as user model and by using UUIDs instead of numeric IDs.
The user model extends Cartalyst\Sentinel\Users\EloquentUser. The implemented interface, Cartalyst\Sentinel\Users\UserInterface, defines a return type.
This method can't be overridden by extending this interface. Using my custom model and creating an interface of my own (obviously) results in Sentinel becoming unusable because it expects the user model to be of type Cartalyst\Sentinel\Users\UserInterface.
I came across this issue because I setup a custom model to serve as user model and by using UUIDs instead of numeric IDs.
The user model extends
Cartalyst\Sentinel\Users\EloquentUser
. The implemented interface,Cartalyst\Sentinel\Users\UserInterface
, defines a return type.This method can't be overridden by extending this interface. Using my custom model and creating an interface of my own (obviously) results in Sentinel becoming unusable because it expects the user model to be of type
Cartalyst\Sentinel\Users\UserInterface
.