/// <summary> /// /// </summary> /// <param name="signinRequest"></param> /// <returns></returns> public async Task <string> AcquireGoogleAccessToken(ExternalSigninRequest signinRequest) { var googleUserData = await _googleUserServiceClient.WhoAmIByCodeAsync(signinRequest.Code); var userData = (await _userRepository.GetAsync(user => user.EmailId == googleUserData.Email)).FirstOrDefault(); var omilosUserData = await RegisterOrUpdateUserDataAsync(userData, googleUserData); var apiModel = _mapper.Map <User>(omilosUserData); return(_tokenProvider.AcquireToken(apiModel)); }
public async Task <IActionResult> GoogleSignin([FromBody] ExternalSigninRequest signinRequest) { return(await ExecuteWithExceptionHandlingAsync <string, SigninResponse>(() => _accountProvider.AcquireGoogleAccessToken(signinRequest))); }