private static UserCredential Authenticate() { Console.WriteLine("Requesting Authentication"); string[] scopes = new string[] { Oauth2Service.Scope.UserinfoEmail }; UserCredential credential = GoogleWebAuthorizationBroker.AuthorizeAsync(new ClientSecrets { ClientId = @"99450014535-bel11jg1ft872p8qvt84nk3qoij5bh5q.apps.googleusercontent.com", ClientSecret = @"aTaj6A8kq38r5FkKogPAZb5q" }, scopes, "user", CancellationToken.None).Result; Oauth2Service oauth2Service = new Oauth2Service( new BaseClientService.Initializer { HttpClientInitializer = credential }); Userinfoplus userinfo = oauth2Service.Userinfo.Get().ExecuteAsync().Result; if (!userinfo.Email.EndsWith(@"@pilani.bits-pilani.ac.in")) { credential.RevokeTokenAsync(CancellationToken.None).Wait(); Console.WriteLine("\nInvalid BITS ID : {0}\n\n", userinfo.Email); return(Authenticate()); } return(credential); }
/// <summary> /// Pulls the authenticated user's information from Google and uses that to update OAuth2Base.currentAuthInfo. /// </summary> /// <remarks>Requires that Authentication has taken place and filled out asyncUserCredential first.</remarks> public static void SetAuthenticatedUserInfo() { using (Oauth2Service oService = new Oauth2Service(new BaseClientService.Initializer() { HttpClientInitializer = asyncUserCredential, ApplicationName = _appName, })) { Userinfoplus userInfoPlus = oService.Userinfo.Get().Execute(); _currentAuthInfo.userName = Utils.GetUserFromEmail(userInfoPlus.Email); _currentAuthInfo.domain = userInfoPlus.Hd; } }
private void getUserInfo() { bool result = true; if (credential == null) { result = GoogleConnect(); } if (result == false || credential == null) { return; } Oauth2Service service = new Oauth2Service( new BaseClientService.Initializer() { HttpClientInitializer = credential, ApplicationName = AppDomain.CurrentDomain.FriendlyName, }); userInfo = service.Userinfo.Get().Execute(); }