KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I have a table in my database with users. Their password are generated with my own custom hashing function. How do i override the Authentication methods in laravel 4 to use my own hash class? This is what I have been trying to do: class CustomUserProvider implements Illuminate\Auth\UserProviderInterface { public function retrieveByID($identifier) { return $this->createModel()->newQuery()->find($identifier); } public function retrieveByCredentials(array $credentials) { // First we will add each credential element to the query as a where clause. // Then we can execute the query and, if we found a user, return it in a // Eloquent User "model" that will be utilized by the Guard instances. $query = $this->createModel()->newQuery(); foreach ($credentials as $key => $value) { if ( ! str_contains($key, 'password')) $query->where($key, $value); } return $query->first(); } public function validateCredentials(Illuminate\Auth\UserInterface $user, array $credentials) { $plain = $credentials['password']; return $this->hasher->check($plain, $user->getAuthPassword()); } } class CodeIgniter extends Illuminate\Auth\Guard { } App::bind('Illuminate\Auth\UserProviderInterface', 'CustomUserProvider'); Auth::extend('codeigniter', function() { return new CodeIgniter( App::make('CustomUserProvider'), App::make('session')); }); When I run the Auth::attempt method I get this error: ErrorException: Warning: Illegal offset type in isset or empty in G:\Dropbox\Workspaces\www\video\vendor\laravel\framework\src\Illuminate\Foundation\Application.php line 352
Tags (comma-separated)
Save Edits
Cancel