public virtual void CreateUserIfDoesntExist(GoogleUser userDetails) { if (!context.Users.Where(u => u.Username == userDetails.Id).Any()) { string email = apiService.RetrieveUsersEmail(userDetails.AccessToken); context.Users.Add(new User { Username = userDetails.Id, Email = email, AccessToken = userDetails.AccessToken }); context.SaveChanges(); } }
public virtual GoogleUser GetAuthenticatedUser(string authToken) { OAuthResponse response = ExchangeAuthTokenForAccessToken(authToken); if (response.IsInvalid) return GoogleUser.InvalidUser; string userId = response.id_token.ExtractUserId(); if (string.IsNullOrEmpty(userId)) return GoogleUser.InvalidUser; var user = new GoogleUser { Id = userId, AuthToken = authToken, AccessToken = response.access_token }; return user; }