Webiny\Component\Security\User\Providers\OAuth2\OAuth2::getUser PHP Method

getUser() public method

Get the user from user provided for the given instance of Login object.
public getUser ( Login $login ) : AbstractUser
$login Webiny\Component\Security\Authentication\Providers\Login Instance of Login object.
return Webiny\Component\Security\User\AbstractUser
    public function getUser(Login $login)
    {
        // check if we have the oauth_server attribute
        if (!$login->getAttribute('oauth2_server')) {
            throw new UserNotFoundException('User not found.');
        }
        // try to get the user from oauth
        $oauth2 = $login->getAttribute('oauth2_server');
        try {
            $oauth2User = $oauth2->request()->getUserDetails();
            // fire the event
            $eventClass = new OAuth2Event($oauth2User, $oauth2);
            $this->eventManager()->fire(OAuth2Event::OAUTH2_AUTH_SUCCESS, $eventClass);
        } catch (\Exception $e) {
            $this->httpSession()->delete('oauth_token');
            throw new UserNotFoundException($e->getMessage());
        }
        // create the user object
        $user = new User();
        $user->populate($oauth2User->email, '', $login->getAttribute('oauth2_roles'), true);
        return $user;
    }
OAuth2