-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathFeatherUserProvider.php
More file actions
97 lines (83 loc) · 2.14 KB
/
Copy pathFeatherUserProvider.php
File metadata and controls
97 lines (83 loc) · 2.14 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
<?php namespace Feather\Auth;
use Feather\Models\User;
use Illuminate\Auth\GenericUser;
use Illuminate\Auth\UserInterface;
use Feather\Migrator\MigratorManager;
use Illuminate\Hashing\HasherInterface;
use Illuminate\Auth\UserProviderInterface;
class FeatherUserProvider implements UserProviderInterface {
/**
* Hasher implementation.
*
* @var Illuminate\Hashing\HasherInterface
*/
protected $hasher;
/**
* Migrator instance.
*
* @var Feather\Migrator\MigratorManager
*/
protected $migrator;
/**
* Create a new database user provider.
*
* @param Illuminate\Hashing\HasherInterface $hasher
* @param Feather\Migrator\MigratorManager $migrator
* @return void
*/
public function __construct(HasherInterface $hasher, MigratorManager $migrator = null)
{
$this->hasher = $hasher;
$this->migrator = $migrator;
}
/**
* Retrieve a user by their unique idenetifier.
*
* @param mixed $identifier
* @return Illuminate\Auth\UserInterface|null
*/
public function retrieveByID($identifier)
{
$user = User::find($identifier);
if ( ! is_null($user))
{
return $user;
}
}
/**
* Retrieve a user by the given credentials.
*
* @param array $credentials
* @return Illuminate\Auth\UserInterface|null
*/
public function retrieveByCredentials(array $credentials)
{
// First we'll attempt to locate a user by checking for the username they provided when logging in.
if ( ! $user = User::where('username', $credentials['username'])->first())
{
return;
}
// If we have a migrator interface then we need confirm that the user has been migrated previously. If
// the user has not been migrated then we'll leave it to the migrator to handle it.
if ($this->migrator->isActive())
{
dd('here');
}
if ( ! is_null($user))
{
return $user;
}
}
/**
* Validate a user against the given credentials.
*
* @param Illuminate\Auth\UserInterface $user
* @param array $credentials
* @return bool
*/
public function validateCredentials(UserInterface $user, array $credentials)
{
$plain = $credentials['password'];
return $this->hasher->check($plain, $user->getAuthPassword());
}
}