Example #1
0
        //
        // GET: /Account/
        public ActionResult Login()
        {
            if (Request.Cookies["oauth"] != null && !string.IsNullOrEmpty(Request.Cookies["oauth"]["userId"]) && !string.IsNullOrEmpty(Request.Cookies["oauth"]["token"]))
            {
                string userId = Request.Cookies["oauth"]["userId"];
                string token = Request.Cookies["oauth"]["token"];
                UserInfo user = oauth.UsersShow(token, userId);
                UserModel um = new UserModel
                {
                    UserId = user.UserId,
                    Name = user.Name,
                    Birthday = user.Birthday,
                    Email = user.Email,
                    Gender = user.Gender
                };

                Session["userId"] = um.UserId;
                Session["name"] = um.Name;
                Session["gender"] = um.Gender;
                Session["email"] = um.Email;
                Session["birthday"] = um.Birthday;
                return RedirectToAction("Index", "Home");
            }
            return View();
        }
Example #2
0
 // GET: /Home/
 public ActionResult Index(UserModel model)
 {
     return View(model);
 }
Example #3
0
        public ActionResult OauthLogin(string code)
        {
            UserModel um;
            AccessToken token;
            logger.Info(string.Format("AppKey={0},AppSecret={1},RedirectUri={2},code={3}",AppKey,AppSecret,RedirectUri,code));
            if (code == null)
                return
                    Redirect(oauth.GetAuthorizationCode(int.Parse(AppKey),RedirectUri));

            try
            {
                token = oauth.GetAccessToken(AppKey, AppSecret, RedirectUri, code);
                if(token == null) throw new NullReferenceException();
                logger.InfoFormat("token: {0},{1},{2},{3}",token.access_token,token.expires_in,token.user_id,token.token_type);
                UserInfo user = oauth.UsersShow(token.user_id);
                if(user == null) throw new NullReferenceException();
                logger.InfoFormat("user: {0}",user.UserId);
                um = new UserModel
                {
                    UserId = user.UserId,
                    Name = user.Name,
                    Birthday = user.Birthday,
                    Email = user.Email,
                    Gender = user.Gender
                };
            }
            catch (Exception ex)
            {
                logger.Fatal("跳转到异常",ex);
                return RedirectToAction("Error", "Account", new { message = "登录失败!" });
            }

            HttpCookie cookie = new HttpCookie("oauth");
            cookie["userId"] = um.UserId;
            cookie["token"] = oauth.Token.access_token;
            cookie.Expires = DateTime.Now.AddSeconds(token.expires_in);
            Response.Cookies.Add(cookie);

            Session["userId"] = um.UserId;
            Session["name"] = um.Name;
            Session["gender"] = um.Gender;
            Session["email"] = um.Email;
            Session["birthday"] = um.Birthday;
            return RedirectToAction("Index", "Home");
        }