public async Task <NewExternalUserViewModel> GetUserViewModelUserFromGoogleToken(string googleIdToken) { var googleTokenSettings = new GoogleJsonWebSignature.ValidationSettings() { Audience = new List <string>() { "680869894998-hujg19vbq0lhmhc8vf8ldmc1dnepvrti.apps.googleusercontent.com" } }; try { var validToken = await GoogleJsonWebSignature.ValidateAsync(googleIdToken, googleTokenSettings); var user = new NewExternalUserViewModel() { AuthenticationTypeId = (int)AuthenticationType.GoogleApi, Email = validToken.Email, FirstName = validToken.Name, LastName = validToken.GivenName, Password = GenerateRandomPasswordForSocialUser(), Username = validToken.Email }; return(user); } catch (InvalidJwtException ex) { Console.WriteLine(ex.Message + ex.StackTrace); throw; } }
public async Task <UserViewModel> RegisterNewExternalUser(NewExternalUserViewModel newExternalUserViewModel) { CreatePasswordHash(newExternalUserViewModel.Password, out var userPasswordHash, out var userPasswordSalt); var newUser = await _userRepository.AddUser(newExternalUserViewModel.Username, newExternalUserViewModel.FirstName, newExternalUserViewModel.LastName, newExternalUserViewModel.Email, userPasswordHash, userPasswordSalt, newExternalUserViewModel.AuthenticationTypeId); var mappedUser = _mapper.Map <UserViewModel>(newUser); return(mappedUser); }