Пример #1
0
        protected void Page_Load(object sender, EventArgs e)
        {
            string FBToken = null;

            if (HttpContext.Current.Session["FBToken"] != null)
            {
                FBToken = HttpContext.Current.Session["FBToken"].ToString();
            }

            BLL.Users.Logout();

            if (FBToken != null)
            {
                Facebook oFB = new Facebook();
                Response.Redirect(oFB.LogOutLinkGet(FBToken));
            }
            else
            {
                Response.Redirect("/Default.aspx");
            }
        }
Пример #2
0
 protected void btnFBLogin_Click(object sender, EventArgs e)
 {
     Facebook oFB = new Facebook();
     Response.Redirect(oFB.AuthorizationLinkGet());
 }
Пример #3
0
        public static void GraphUser()
        {
            string url = "";
            Facebook oAuth = new Facebook();

            if (HttpContext.Current.Request["code"] != null)
            {
                //Get the access token and secret.
                oAuth.AccessTokenGet(HttpContext.Current.Request["code"]);

                if (oAuth.Token.Length > 0)
                {

                    HttpContext.Current.Session["FBToken"] = oAuth.Token.ToString();
                    url = "https://graph.facebook.com/me?fields=" + FBQuery() + "&access_token=" + oAuth.Token;
                    var data = oAuth.WebRequest(Facebook.Method.GET, url, String.Empty);
                    JObject o = JObject.Parse(data);

                    string _Email = null;
                    string _FacebookID = null;
                    string _FullName = null;
                    string _FirstName = null;
                    string _MiddleName = null;
                    string _LastName = null;
                    string _Gender = null;
                    string _Local = null;
                    string _Link = null;
                    string _TimeZone = null;
                    string _Birthday = null;
                    string _Picture = null;
                    string _LocationID = null;
                    string _LocationName = null;
                    string _City = null;
                    string _Region = null;

                    if (o.SelectToken("email") != null)
                    {
                        _Email = o.SelectToken("email").ToString();
                    }

                    if (o.SelectToken("id") != null)
                    {
                        _FacebookID = o.SelectToken("id").ToString();
                    }

                    if (o.SelectToken("name") != null)
                    {
                        _FullName = o.SelectToken("name").ToString();
                    }

                    if (o.SelectToken("first_name") != null)
                    {
                        _FirstName = o.SelectToken("first_name").ToString();
                    }

                    if (o.SelectToken("middle_name") != null)
                    {
                        _MiddleName = o.SelectToken("middle_name").ToString();
                    }

                    if (o.SelectToken("last_name") != null)
                    {
                        _LastName = o.SelectToken("last_name").ToString();
                    }

                    if (o.SelectToken("gender") != null)
                    {
                        _Gender = o.SelectToken("gender").ToString();
                    }

                    if (o.SelectToken("locale") != null)
                    {
                        _Local = o.SelectToken("locale").ToString();
                    }

                    if (o.SelectToken("link") != null)
                    {
                        _Link = o.SelectToken("link").ToString();
                    }

                    if (o.SelectToken("timezone") != null)
                    {
                        _TimeZone = o.SelectToken("timezone").ToString();
                    }

                    if (o.SelectToken("birthday") != null)
                    {
                        _Birthday = o.SelectToken("birthday").ToString();
                    }

                    if (o.SelectToken("picture") != null)
                    {
                        _Picture = o.SelectToken("picture").ToString();
                    }

                    if (o.SelectToken("location.id") != null)
                    {
                        _LocationID = o.SelectToken("location.id").ToString();
                    }

                    if (o.SelectToken("location.name") != null)
                    {
                        _LocationName = o.SelectToken("location.name").ToString();
                    }

                    if (_LocationName != null)
                    {
                        string[] s = _LocationName.Split(',');
                        _City = s[0];
                        _Region = s[1];
                    }

                    if (_Email != null)
                    {

                        if (UserExists(_Email) == false)
                        {
                            CreateAccount(_Email, Crypto.GenerateSimplePassword()); //Create the facebook user and asign a simple password
                        }

                        if (UserExists(_Email) == true)
                        {
                            var U = Utils.DbContext.Users.FirstOrDefault(Usr => Usr.Email == _Email);
                            U.FacebookID = _FacebookID;
                            U.FullName = _FullName;
                            U.FirstName = _FirstName;
                            U.MiddleName = _MiddleName;
                            U.LastName = _LastName;
                            U.Gender = _Gender;
                            U.Local = _Local;
                            U.Link = _Link;
                            U.TimeZone = int.Parse(_TimeZone);
                            U.Birthday = DateTime.Parse(_Birthday);
                            U.Picture = _Picture;
                            U.LocationID = _LocationID;
                            U.City = _City;
                            U.Region = _Region;
                            U.IsLockedOut = false;
                            U.IsSuperUser = false;
                            Utils.DbContext.SaveChanges();

                            if ((BLL.Users.Login(_Email, GetPassword(U.UserID)) != false))
                            {
                                HttpContext.Current.Response.Redirect("/Default.aspx");
                            }
                        }
                    }
                }
            }

            string FBError = HttpContext.Current.Request.QueryString["error_reason"];

            if (FBError == "user_denied") //User canceled go back to login
            {
                HttpContext.Current.Response.Redirect("/Account/Login.aspx");
            }
        }