Exemple #1
0
        public string Login(string back, int IsLogin = 1, int DT_id = 0)
        {
            string        code = RequestTool.RequestString("code");
            string        res  = "";
            StringBuilder sb;

            if (code != "")
            {
                try
                {
                    sb = new StringBuilder();
                    sb.Append("?grant_type=authorization_code");
                    sb.Append("&client_id=" + appid);
                    sb.Append("&client_secret=" + appkey);
                    sb.Append("&code=" + code);
                    string uri = reurnurl + "?backurl=" + ENBackuri(back);
                    uri = System.Web.HttpUtility.UrlEncode(uri);
                    sb.Append("&redirect_uri=" + uri);
                    res = PostAPI("oauth/access_token", sb.ToString());
                    res = res + "&";
                    string access_token      = RegexTool.GetRegValue(res, "access_token=(.*?)&");
                    JavaScriptSerializer jss = new JavaScriptSerializer();
                    //获取uid
                    sb = new StringBuilder();
                    sb.Append("?access_token=" + access_token);
                    res = GetAPI("me", sb.ToString());
                    Model.Facebook.userinfo model = jss.Deserialize <Model.Facebook.userinfo>(res);
                    string uid = model.id;
                    //return uid;
                    string where = "bind_facebook_id='" + uid + "'";
                    //if (DT_id > 0)
                    //{
                    //    where += " and DT_id =" + DT_id + "";
                    //}
                    Shop.Model.Lebi_User user        = B_Lebi_User.GetModel(where);
                    Lebi_User            CurrentUser = EX_User.CurrentUser();
                    if (model == null)
                    {
                        model = new Model.Facebook.userinfo();
                    }
                    if (model.picture == null)
                    {
                        model.picture = new Model.Facebook.userinfo.picture_();
                    }
                    if (model.picture.data == null)
                    {
                        model.picture.data     = new Model.Facebook.userinfo.picture_.data_();
                        model.picture.data.url = "";
                    }
                    string username = model.last_name + model.first_name;
                    if (CurrentUser.id > 0)//已经登录
                    {
                        if (IsLogin == 0)
                        {
                            if (user != null)
                            {
                                if (CurrentUser.id != user.id)
                                {
                                    return("已绑定其它帐号");
                                }
                            }
                        }
                        CurrentUser.bind_facebook_id       = uid;
                        CurrentUser.bind_facebook_nickname = username;
                        CurrentUser.bind_facebook_token    = access_token;
                        if (CurrentUser.Face == "")
                        {
                            CurrentUser.Face = model.picture.data.url;//头像
                        }
                        B_Lebi_User.Update(CurrentUser);
                    }
                    else
                    {
                        if (user == null)
                        {
                            Lebi_UserLevel defaultlevel = B_Lebi_UserLevel.GetModel("Grade>0 order by Grade asc");
                            if (defaultlevel == null)
                            {
                                defaultlevel = new Lebi_UserLevel();
                            }
                            if (defaultlevel.RegisterType == 0) //关闭注册
                            {
                                return("会员注册已关闭");
                            }
                            user = new Lebi_User();
                            user.bind_facebook_id       = uid;
                            user.bind_facebook_nickname = username;
                            user.bind_facebook_token    = access_token;
                            user.Face              = model.picture.data.url;
                            user.NickName          = username;
                            user.UserName          = "******" + uid;
                            user.Password          = EX_User.MD5(uid);
                            user.Language          = Language.CurrentLanguage().Code;
                            user.Sex               = model.gender == "female" ? "女" : "男";
                            user.UserLevel_id      = B_Lebi_UserLevel.GetList("Grade>0", "Grade asc").FirstOrDefault().id;
                            user.IsPlatformAccount = 1;
                            if (CurrentSite != null)
                            {
                                user.Site_id = CurrentSite.id;
                            }
                            B_Lebi_User.Add(user);
                            user.id = B_Lebi_User.GetMaxId();
                            EX_User.LoginOK(user);
                        }
                        else
                        {
                            user.bind_facebook_id       = uid;
                            user.bind_facebook_nickname = username;
                            user.bind_facebook_token    = access_token;
                            if (user.Face == "")
                            {
                                user.Face = model.picture.data.url;
                            }
                            //user.Sex = model.gender == "female" ? "女" : "男";
                            B_Lebi_User.Update(user);
                            EX_User.LoginOK(user);
                        }
                    }
                    return("OK");
                }
                catch
                {
                    return("授权失败");
                }
            }
            return("授权失败");
        }
Exemple #2
0
        public string Login(string back, int IsLogin = 1)
        {
            string        code = RequestTool.RequestString("code");
            string        res  = "";
            StringBuilder sb;

            if (code != "")
            {
                sb = new StringBuilder();
                sb.Append("?grant_type=authorization_code");
                sb.Append("&client_id=" + appid);
                sb.Append("&client_secret=" + appkey);
                sb.Append("&code=" + code);
                sb.Append("&redirect_uri=" + reurnurl);
                //res = APIURL("oauth/access_token", sb.ToString());
                res = PostAPI("oauth/access_token", sb.ToString());
                //access_token=
                //CAAGUzrOw7
                //AMBADkwUNj
                //HkI9FwLPHD
                //fUamZCSBH1
                //NbSFsKVVjF
                //D2QfmP0aXT
                //FtMTY8e8d5
                //yse93demVg
                //YwCfEWXApj
                //ZAsGqt3ugg
                //YiHSmFQeN2
                //EOwFindWuw
                //R9QHiTlAwr
                //kmuTmr1Qs4
                //mwtSAZC15m
                //wTpLWvZCaj
                //OkVC1zlTZB
                //B5gjRZBmCm
                //C2j&expires=5183999
                //HttpContext.Current.Response.Redirect(res);
                res = res + "&";
                string access_token = RegexTool.GetRegValue(res, "access_token=(.*?)&");

                JavaScriptSerializer jss = new JavaScriptSerializer();
                //获取uid
                sb = new StringBuilder();
                sb.Append("?access_token=" + access_token);
                res = GetAPI("me", sb.ToString());

                Model.Facebook.userinfo model = jss.Deserialize <Model.Facebook.userinfo>(res);
                string uid = model.id;
                //return uid;
                Lebi_User user = B_Lebi_User.GetModel("bind_facebook_id='" + uid + "'");

                if (model == null)
                {
                    model = new Model.Facebook.userinfo();
                }
                if (model.picture == null)
                {
                    model.picture = new Model.Facebook.userinfo.picture_();
                }
                if (model.picture.data == null)
                {
                    model.picture.data     = new Model.Facebook.userinfo.picture_.data_();
                    model.picture.data.url = "";
                }
                string username = model.last_name + model.first_name;
                if (user == null)
                {
                    Lebi_UserLevel defaultlevel = B_Lebi_UserLevel.GetModel("Grade>0 order by Grade asc");
                    if (defaultlevel == null)
                    {
                        defaultlevel = new Lebi_UserLevel();
                    }
                    if (defaultlevel.RegisterType == 0) //关闭注册
                    {
                        return("会员注册已关闭");
                    }
                    user = new Lebi_User();
                    user.bind_facebook_id       = uid;
                    user.bind_facebook_nickname = username;
                    user.bind_facebook_token    = access_token;
                    user.Face              = model.picture.data.url;
                    user.UserName          = username;
                    user.Password          = EX_User.MD5(uid);
                    user.Language          = Language.CurrentLanguage().Code;
                    user.Sex               = model.gender == "female" ? "女" : "男";
                    user.UserLevel_id      = B_Lebi_UserLevel.GetList("Grade>0", "Grade asc").FirstOrDefault().id;
                    user.IsPlatformAccount = 1;
                    if (CurrentSite != null)
                    {
                        user.Site_id = CurrentSite.id;
                    }
                    user.DT_id = DT_id;
                    B_Lebi_User.Add(user);
                    user.id = B_Lebi_User.GetMaxId();
                    EX_User.LoginOK(user);
                }
                else
                {
                    user.bind_facebook_id       = uid;
                    user.bind_facebook_nickname = username;
                    user.bind_facebook_token    = access_token;
                    user.Face     = model.picture.data.url;
                    user.Sex      = model.gender == "female" ? "女" : "男";
                    user.UserName = username;
                    user.DT_id    = DT_id;
                    B_Lebi_User.Update(user);
                    EX_User.LoginOK(user);
                }
                return("OK");
            }
            return("授权失败");
        }