public static List <FacebookGroupPost> getGroupFeed(string groupId, FacebookAuth givenAuth = null)
        {
            string requestString = groupId + "/feed?fields=permalink_url,description,message,from,comments{message,from}";

            requestString += "&access_token=" + givenAuth.accessToken;
            FacebookGroup group = new FacebookGroup();

            using (var db = new ClassroomContext())
            {
                group = db.FacebookGroups.Where(x => x.id == groupId).SingleOrDefault();
            }
            string resultRaw  = fireGetRequest(requestString);
            JToken resultJson = JObject.Parse(resultRaw)["data"];
            List <FacebookGroupPost> result = JsonConvert.DeserializeObject <List <FacebookGroupPost> >(resultJson.ToString());

            result.ForEach(x =>
            {
                x.comments    = new List <FacebookComment>();
                x.parentGroup = group;
            });
            foreach (JToken post in JObject.Parse(resultRaw)["data"])
            {
                if (post["comments"] != null)
                {
                    foreach (JToken comment in post["comments"]["data"])
                    {
                        FacebookComment newComment = JsonConvert.DeserializeObject <FacebookComment>(comment.ToString());
                        result.Where(x => x.id == post["id"].ToString()).ToList().ForEach(x => x.comments.Add(newComment));
                    }
                }
            }

            return(result);
        }
Esempio n. 2
0
        protected override void OnElementChanged(ElementChangedEventArgs <Page> e)
        {
            base.OnElementChanged(e);
            var activity = this.Context as Activity;

            if (showlogin && FacebookAuth.User == null)
            {
                showlogin = false;
                var loginPage = Element as ProviderLoginPage;

                var auth = GetAuthenticator();
                auth.Completed += async(sender, eventArgs) =>
                {
                    if (eventArgs.IsAuthenticated)
                    {
                        var request = GetRequest();
                        request.Account = eventArgs.Account;
                        var fbReponse = await request.GetResponseAsync();

                        FacebookAuth.SetUser(fbReponse.GetResponseText());
                    }
                    else
                    {
                    }
                };
                activity.StartActivity(auth.GetUI(activity));
            }
        }
        protected override void OnElementChanged(VisualElementChangedEventArgs e)
        {
            base.OnElementChanged(e);

            //var activity = this.Context as Activity;            //var activity = this.Context as Activity;

            if (showLogin && FacebookAuth.User == null)
            {
                showLogin = false;
                var auth = FacebookAuth.FacebookAuthByClientId();

                auth.Completed += async(sender, eventArgs) =>
                {
                    DismissViewController(true, null);
                    if (eventArgs.IsAuthenticated)
                    {
                        var request = new OAuth2Request("GET", new Uri("https://" +
                                                                       "graph.facebook.com/me?fields=name,picture,cover," +
                                                                       "birthday"),
                                                        null, eventArgs.Account);

                        var fbResponse = await request.GetResponseAsync();

                        FacebookAuth.User = JsonConvert.DeserializeObject <UserFacebook>
                                                (fbResponse.GetResponseText());
                        FacebookAuth.SuccessfullLoginAction.Invoke();
                    }
                    else
                    {
                    }
                };
                PresentViewController(auth.GetUI(), true, null);
            }
        }
Esempio n. 4
0
        protected override void OnElementChanged(VisualElementChangedEventArgs e)
        {
            base.OnElementChanged(e);
            if (showLogin && FacebookAuth.User == null)
            {
                showLogin = false;
                var    loginPage    = Element as ProviderLoginPage;
                string providername = loginPage.ProviderName;
                var    auth         = GetAuthenticator(providername);

                auth.Completed += async(sender, eventArgs) =>
                {
                    DismissViewController(true, null);

                    if (eventArgs.IsAuthenticated)
                    {
                        var request = GetRequest(providername);
                        request.Account = eventArgs.Account;
                        var fbResponse = await request.GetResponseAsync();

                        FacebookAuth.SetUser(providername, fbResponse.GetResponseText());
                    }
                    else
                    {
                        // The user cancelled
                    }
                };

                PresentViewController(auth.GetUI(), true, null);
            }
        }
Esempio n. 5
0
 public FirebaseAuthImplementation()
 {
     _firebaseAuth    = FirebaseAuth.DefaultInstance;
     _emailAuth       = new EmailAuth();
     _googleAuth      = new GoogleAuth();
     _facebookAuth    = new FacebookAuth();
     _phoneNumberAuth = new PhoneNumberAuth();
 }
 public FirebaseAuthImplementation()
 {
     _firebaseAuth    = FirebaseAuth.Instance;
     _emailAuth       = new EmailAuth();
     _googleAuth      = new GoogleAuth(Activity, _googleRequestIdToken);
     _facebookAuth    = new FacebookAuth();
     _phoneNumberAuth = new PhoneNumberAuth();
 }
 public FacebookConnector(ISession session)
 {
     using (var db = new ClassroomContext())
     {
         int?currentId = session.GetInt32(EnumStrings.currentuser);
         if (currentId != null)
         {
             currentUser = db.FacebookAuthSet.Where(x => x.UserId == currentId).FirstOrDefault();
         }
     }
 }
Esempio n. 8
0
        protected override void OnElementChanged(ElementChangedEventArgs <Page> e)
        {
            base.OnElementChanged(e);

            if (showLogin && FacebookAuth.User == null)
            {
                showLogin = false;
                var    loginPage    = Element as ProviderLoginPage;
                string providername = loginPage.ProviderName;

                WindowsPage windowsPage = new WindowsPage();
                var         auth        = GetAuthenticator(providername);
                _frame = windowsPage.Frame;
                if (_frame == null)
                {
                    _frame = new Windows.UI.Xaml.Controls.Frame();
                    //_frame.Language = global::Windows.Globalization.ApplicationLanguages.Languages[0];
                    windowsPage.Content = _frame;
                    SetNativeControl(windowsPage);
                }

                auth.Completed += async(sender, eventArgs) => {
                    if (eventArgs.IsAuthenticated)
                    {
                        var request = GetRequest(providername);
                        request.Account = eventArgs.Account;
                        var fbResponse = await request.GetResponseAsync();

                        FacebookAuth.SetUser(providername, fbResponse.GetResponseText());
                    }
                    else
                    {
                        // The user cancelled
                    }
                };


                _frame.Navigate(auth.GetUI(), auth);
                Window.Current.Activate();
            }
        }
Esempio n. 9
0
        public IActionResult saveAuthObject(FacebookAuth auth)
        {
            int?    userId = HttpContext.Session.GetInt32("currentuser");
            dynamic stringResponse;

            if (userId != null)
            {
                using (var db = new ClassroomContext())
                {
                    using (var client = new HttpClient())
                    {
                        client.BaseAddress = new Uri("https://graph.facebook.com/v2.9/");
                        HttpResponseMessage response = client.GetAsync("oauth/access_token?grant_type=fb_exchange_token&client_id=" + Environment.GetEnvironmentVariable("FACEBOOK_APP_ID") + @"&client_secret=" + Environment.GetEnvironmentVariable("FACEBOOK_APP_SECRET") + @"&fb_exchange_token=" + auth.accessToken).Result;
                        response.EnsureSuccessStatusCode(); // Throw in not success

                        stringResponse = JsonConvert.DeserializeObject <dynamic>(response.Content.ReadAsStringAsync().Result);
                    }

                    User currentUser = db.Users.Find(userId);
                    int? currAuth    = db.FacebookAuthSet.Where(x => x.facebookUserId == auth.facebookUserId).Select(x => x.Id).SingleOrDefault();
                    auth.accessToken = stringResponse.access_token.ToString();
                    if (currAuth != 0)
                    {
                        auth.Id = (int)currAuth;
                        db.FacebookAuthSet.Update(auth);
                    }
                    else
                    {
                        db.FacebookAuthSet.Add(auth);
                    }
                    auth.User = currentUser;
                    db.SaveChanges();
                }
            }
            return(Content("success"));
        }
Esempio n. 10
0
        public async Task <IActionResult> SocialLogin([FromBody] SocialLogin socialLogin)
        {
            string googlePattern   = "^G_";
            string facebookPattern = "^F_";
            string error           = "error";

            // var email = new SendEmailService();
            //email.ResetPassword();

            var googleReg   = new Regex(googlePattern);
            var facebookReg = new Regex(facebookPattern);

            if (googleReg.IsMatch(socialLogin.Token))
            {
                ///implement google auth and login
                string googleToken  = googleReg.Replace(socialLogin.Token, "");
                string url          = "https://www.googleapis.com/oauth2/v3/tokeninfo?id_token=" + googleToken;
                string userResponse = GetAuthResponse(url);
                try
                {
                    GoogleAuth userGoogle = JsonConvert.DeserializeObject <GoogleAuth>(userResponse);
                    var        user       = await _userRepository.SocialLoginAsync(userGoogle.sub, userGoogle.name, socialLogin.Email, "Google");

                    if (user == null)
                    {
                        return(Json(error));
                    }
                    return(Json(user));
                }
                catch (Exception e)
                {
                    Console.WriteLine(e.Message);
                    Log.Error($"Google login Error: {e.Message}");
                    Log.Error(e.StackTrace);
                    return(Json(error));
                }
            }
            if (facebookReg.IsMatch(socialLogin.Token))
            {
                //Console.WriteLine("Facebook!");
                ///implement facebook auth and login
                string facebookToken = facebookReg.Replace(socialLogin.Token, "");
                string url           = "https://graph.facebook.com/me?access_token=" + facebookToken;

                string userResponse = GetAuthResponse(url);
                try
                {
                    FacebookAuth userFacebook = JsonConvert.DeserializeObject <FacebookAuth>(userResponse);
                    var          user         = await _userRepository.SocialLoginAsync(userFacebook.id, userFacebook.name, socialLogin.Email, "Facebook");

                    if (user == null)
                    {
                        return(Json(error));
                    }
                    return(Json(user));
                }
                catch (Exception e)
                {
                    //Console.WriteLine(e.Message);
                    Log.Error($"Facebook login Error: {e.Message}");
                    Log.Error(e.StackTrace);
                    return(Json(error));
                }
            }

            return(Json(error));
        }
        void ReleaseDesignerOutlets()
        {
            if (BrowserToggle != null)
            {
                BrowserToggle.Dispose();
                BrowserToggle = null;
            }

            if (FacebookAuth != null)
            {
                FacebookAuth.Dispose();
                FacebookAuth = null;
            }

            if (FatsecretAuth != null)
            {
                FatsecretAuth.Dispose();
                FatsecretAuth = null;
            }

            if (FitbitAuth != null)
            {
                FitbitAuth.Dispose();
                FitbitAuth = null;
            }

            if (FoursquareAuth != null)
            {
                FoursquareAuth.Dispose();
                FoursquareAuth = null;
            }

            if (GoogleAuth != null)
            {
                GoogleAuth.Dispose();
                GoogleAuth = null;
            }

            if (GPS != null)
            {
                GPS.Dispose();
                GPS = null;
            }

            if (LinkedinAuth != null)
            {
                LinkedinAuth.Dispose();
                LinkedinAuth = null;
            }

            if (MioAuth != null)
            {
                MioAuth.Dispose();
                MioAuth = null;
            }

            if (RescuetimeAuth != null)
            {
                RescuetimeAuth.Dispose();
                RescuetimeAuth = null;
            }

            if (ResultsTextView != null)
            {
                ResultsTextView.Dispose();
                ResultsTextView = null;
            }

            if (RunkeeperAuth != null)
            {
                RunkeeperAuth.Dispose();
                RunkeeperAuth = null;
            }

            if (SpotifyAuth != null)
            {
                SpotifyAuth.Dispose();
                SpotifyAuth = null;
            }

            if (TwitterAuth != null)
            {
                TwitterAuth.Dispose();
                TwitterAuth = null;
            }

            if (WithingsAuth != null)
            {
                WithingsAuth.Dispose();
                WithingsAuth = null;
            }
        }