Example #1
0
        private void HandleFacebookLogin()
        {
            var cookie = Authentication.GetSignedCookie("fbs_" + ConfigurationManager.AppSettings["FacebookApplicationId"], ConfigurationManager.AppSettings["FacebookApplicationSecret"]);

            if (cookie != null)
            {
                string jsonProfile = Http.DownloadContent((HttpWebRequest)WebRequest.Create("https://graph.facebook.com/me?locale=en_US&access_token=" + cookie["access_token"]), null);
                var    serializer  = new System.Web.Script.Serialization.JavaScriptSerializer();
                var    profile     = (Dictionary <string, object>)serializer.DeserializeObject(jsonProfile);

                string facebookUserId     = profile["id"].ToString();
                CSBooster_DataContext csb = new CSBooster_DataContext(Helper.GetSiemeConnectionString());
                var user = csb.hisp_DataObject_GetUserIDByFacebookUserId(facebookUserId).ElementAtOrDefault(0);
                if (user != null) // User exists
                {
                    MembershipUser membershipUser = Membership.GetUser(user.USR_ID);
                    if (membershipUser != null)
                    {
                        PerformLogin(membershipUser.UserName);
                    }
                }
                else // User doesn't exist
                {
                    ScriptManager.RegisterStartupScript(this, this.GetType(), "LinkFacebookAccount", string.Format("$telerik.$(function() {{ radWinOpen('/Pages/Popups/LinkFacebookAccount.aspx', '{0}', 420, 100, false, null, 'settingsWin') }} );", GuiLanguage.GetGuiLanguage("Shared").GetString("CommandCreateProfile")), true);
                }
            }
            else
            {
                litLogin.Text = "<fb:login-button perms=\"email\"></fb:login-button>";
            }
        }