Example #1
0
        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();
            }
        }
Example #2
0
        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;
        }