/** * {@inheritDoc} */ public function authenticate(TokenInterface $token) { $resourceOwner = $this->resourceOwnerMap->getResourceOwnerByName($token->getResourceOwnerName()); $userResponse = $resourceOwner->getUserInformation($token->getCredentials()); try { $user = $this->userProvider->loadUserByOAuthUserResponse($userResponse); } catch (OAuthAwareExceptionInterface $e) { $e->setAccessToken($token->getCredentials()); $e->setResourceOwnerName($token->getResourceOwnerName()); throw $e; } $token = new OAuthToken($token->getCredentials(), $user->getRoles()); $token->setUser($user); $token->setAuthenticated(true); return $token; }
/** * {@inheritDoc} */ public function authenticate(TokenInterface $token) { $ownerName = $token->getResourceOwnerName(); $oauthUtil = $this->container->get('glory_oauth.util.token2oauth'); $oauth = $oauthUtil->generate($token); $connect = $this->container->get('glory_oauth.connect'); if (!($user = $connect->getConnect($oauth))) { if ($this->container->getParameter('glory_oauth.auto_register')) { $user = $connect->connect($oauth); } else { $key = time(); $this->container->get('session')->set('glory_oauth.connect.oauth.' . $key, [$oauth->getOwner(), $oauth->getUsername()]); $url = $this->container->get('router')->generate('glory_oauth_register', ['key' => $key]); return new RedirectResponse($url); } } if (!$user instanceof UserInterface) { throw new BadCredentialsException(''); } try { $this->userChecker->checkPreAuth($user); $this->userChecker->checkPostAuth($user); } catch (BadCredentialsException $e) { if ($this->hideUserNotFoundExceptions) { throw new BadCredentialsException('Bad credentials', 0, $e); } throw $e; } $token = new OAuthToken($token->getRawToken(), $user->getRoles()); $token->setOwnerName($ownerName); $token->setUser($user); $token->setAuthenticated(true); return $token; }
/** * Attempts to authenticate a TokenInterface object. * * @param OAuthToken $token The TokenInterface instance to authenticate * * @return TokenInterface An authenticated TokenInterface instance, never null * * @throws AuthenticationException if the authentication fails */ public function authenticate(TokenInterface $token) { $resourceOwner = $this->resourceOwnerMap->getResourceOwnerByName($token->getResourceOwnerName()); try { $userResponse = $resourceOwner->getUserInformation($token->getRawToken()); $user = $this->userProvider->loadUserByOAuthUserResponse($userResponse); } catch (OAuthAwareExceptionInterface $e) { $e->setToken($token); $e->setResourceOwnerName($token->getResourceOwnerName()); throw $e; } $organization = $this->guessOrganization($user, $token); $token = new OAuthToken($token->getRawToken(), $user->getRoles()); $token->setResourceOwnerName($resourceOwner->getName()); $token->setOrganizationContext($organization); $token->setUser($user); $token->setAuthenticated(true); $this->userChecker->checkPostAuth($user); return $token; }
/** * {@inheritDoc} */ public function supports(TokenInterface $token) { return $token instanceof OAuthToken && $this->resourceOwnerMap->hasResourceOwnerByName($token->getResourceOwnerName()); }