Esempio n. 1
0
 public function signInOauth2(RegistrationRequest $registrationRequest)
 {
     if (!$this->accountService->hasAccountWithEmail($registrationRequest->getEmail())) {
         $this->accountService->createOAuth2Account($registrationRequest);
     }
     $oauth2Account = $this->accountService->findOAuthAccount($registrationRequest->getProvider(), $registrationRequest->getProviderAccountId());
     return $this->auth($oauth2Account->getAccount());
 }
Esempio n. 2
0
 public function createOAuth2Account(RegistrationRequest $registrationRequest) : Account
 {
     $email = $registrationRequest->getEmail();
     $provider = $registrationRequest->getProvider();
     $providerAccountId = $registrationRequest->getProviderAccountId();
     $account = $this->createAccount($email, GenerateRandomString::gen(32));
     $oauthAccount = new OAuthAccount($account);
     $oauthAccount->setProvider($provider);
     $oauthAccount->setProviderAccountId($providerAccountId);
     $this->accountRepository->createOAuth2Account($oauthAccount);
     return $account;
 }
 public function getAccountWith(RegistrationRequest $registrationRequest) : OAuthAccount
 {
     return $this->findOneBy(['email' => $registrationRequest->getEmail(), 'provider' => $registrationRequest->getProvider(), 'providerAccountId' => $registrationRequest->getProviderAccountId()]);
 }