/** * {@inheritDoc} */ public function authenticate(TokenInterface $token) { if (!$this->supports($token)) { return; } /* @var OAuthToken $token */ $resourceOwner = $this->resourceOwnerMap->getResourceOwnerByName($token->getResourceOwnerName()); $userResponse = $resourceOwner->getUserInformation($token->getRawToken()); try { $user = $this->userProvider->loadUserByOAuthUserResponse($userResponse); } catch (OAuthAwareExceptionInterface $e) { $e->setToken($token); $e->setResourceOwnerName($token->getResourceOwnerName()); throw $e; } if (!$user instanceof UserInterface) { throw new AuthenticationServiceException('loadUserByOAuthUserResponse() must return a UserInterface.'); } $this->userChecker->checkPreAuth($user); $this->userChecker->checkPostAuth($user); $token = new OAuthToken($token->getRawToken(), $user->getRoles()); $token->setResourceOwnerName($resourceOwner->getName()); $token->setUser($user); $token->setAuthenticated(true); return $token; }
public function testGets() { $expectedToken = array('access_token' => 'access_token', 'refresh_token' => 'refresh_token', 'expires_in' => '666'); $token = new OAuthToken($expectedToken, array('ROLE_TEST')); $token->setResourceOwnerName('github'); $this->assertEquals($expectedToken, $token->getRawToken()); $this->assertEquals($expectedToken['access_token'], $token->getAccessToken()); $this->assertEquals($expectedToken['refresh_token'], $token->getRefreshToken()); $this->assertEquals($expectedToken['expires_in'], $token->getExpiresIn()); $this->assertEquals('github', $token->getResourceOwnerName()); }
/** * {@inheritDoc} */ public function authenticate(TokenInterface $token) { /* @var OAuthToken $token */ $resourceOwner = $this->resourceOwnerMap->getResourceOwnerByName($token->getResourceOwnerName()); $userResponse = $resourceOwner->getUserInformation($token->getRawToken()); try { $user = $this->userProvider->loadUserByOAuthUserResponse($userResponse); } catch (OAuthAwareExceptionInterface $e) { $e->setToken($token); $e->setResourceOwnerName($token->getResourceOwnerName()); throw $e; } $token = new OAuthToken($token->getRawToken(), $user->getRoles()); $token->setResourceOwnerName($resourceOwner->getName()); $token->setUser($user); $token->setAuthenticated(true); $this->userChecker->checkPostAuth($user); return $token; }
/** * @return OAuthToken */ public function getRawToken() { return $this->token->getRawToken(); }