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);
        }
Exemplo n.º 2
0
        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));
        }