public async Task <ExternalRegisterUserDto> GetExternalData(IExternalDataDto externalData) { if (!(externalData is FacebookExternalDataDto facebookExternalData)) { throw new ArgumentNullException(nameof(facebookExternalData)); } var facebookUserDto = await _facebookClient.GetFacebookUserData(facebookExternalData.AccessToken); var result = _mapper.Map <ExternalRegisterUserDto>(facebookUserDto); return(result); }
public async Task <ExternalRegisterUserDto> GetExternalData(IExternalDataDto externalData) { if (!(externalData is GoogleExternalDataDto googleExternalData)) { throw new ArgumentNullException(nameof(googleExternalData)); } var tokenResponse = await _googleClient.RequestAuthorizationCodeAsync(googleExternalData.LoginDto.Code); var validatedToken = await ValidateOpenIdToken(tokenResponse, googleExternalData.LoginDto.State, googleExternalData.Ip); if (!validatedToken) { return(null); } return(await CreateExternalRegisterUserDto(tokenResponse)); }