Source of file UserRepository.php
Size: 1,334 Bytes - Last Modified: 2022-02-21T10:00:46+00:00
/var/www/docs.ssmods.com/process/src/src/Repositories/UserRepository.php
12345678910111213141516171819202122232425262728293031323334353637383940414243444546 | <?php namespace AdvancedLearning\Oauth2Server\Repositories; use AdvancedLearning\Oauth2Server\Entities\UserEntity; use League\OAuth2\Server\Entities\ClientEntityInterface; use League\OAuth2\Server\Repositories\UserRepositoryInterface; use SilverStripe\Core\Injector\Injector; use SilverStripe\ORM\ValidationResult; use SilverStripe\Security\Member; use SilverStripe\Security\MemberAuthenticator\MemberAuthenticator; class UserRepository implements UserRepositoryInterface { /** * {@inheritdoc} */ public function getUserEntityByUserCredentials( $username, $password, $grantType, ClientEntityInterface $clientEntity ) { $member = Member::get()->filter(['Email' => $username])->first(); /** * @var ValidationResult $result */ $result = Injector::inst()->get(MemberAuthenticator::class)->checkPassword($member, $password); return $result->isValid() ? new UserEntity($member) : null; } /** * Gets a UserEntity by their identifier (Member->Email). * * @param string $userIdentifier * @return UserEntity */ public function getUserEntityByIdentifier(string $userIdentifier): UserEntity { return new UserEntity(Member::get()->filter(['Email' => $userIdentifier])->first()); } } |