ok
Direktori : /home2/selectio/www/innerstore/vendor/laravel/passport/src/Bridge/ |
Current File : /home2/selectio/www/innerstore/vendor/laravel/passport/src/Bridge/UserRepository.php |
<?php namespace Laravel\Passport\Bridge; use Illuminate\Contracts\Hashing\Hasher; use League\OAuth2\Server\Entities\ClientEntityInterface; use League\OAuth2\Server\Repositories\UserRepositoryInterface; use RuntimeException; class UserRepository implements UserRepositoryInterface { /** * The hasher implementation. * * @var \Illuminate\Contracts\Hashing\Hasher */ protected $hasher; /** * Create a new repository instance. * * @param \Illuminate\Contracts\Hashing\Hasher $hasher * @return void */ public function __construct(Hasher $hasher) { $this->hasher = $hasher; } /** * {@inheritdoc} */ public function getUserEntityByUserCredentials($username, $password, $grantType, ClientEntityInterface $clientEntity) { $provider = $clientEntity->provider ?: config('auth.guards.api.provider'); if (is_null($model = config('auth.providers.'.$provider.'.model'))) { throw new RuntimeException('Unable to determine authentication model from configuration.'); } if (method_exists($model, 'findAndValidateForPassport')) { $user = (new $model)->findAndValidateForPassport($username, $password); if (! $user) { return; } return new User($user->getAuthIdentifier()); } if (method_exists($model, 'findForPassport')) { $user = (new $model)->findForPassport($username); } else { $user = (new $model)->where('email', $username)->first(); } if (! $user) { return; } elseif (method_exists($user, 'validateForPassportPasswordGrant')) { if (! $user->validateForPassportPasswordGrant($password)) { return; } } elseif (! $this->hasher->check($password, $user->getAuthPassword())) { return; } return new User($user->getAuthIdentifier()); } }