Example #1
0
        public LoginProfile ProcessAuthoriztion(HttpContext context, IDictionary <string, string> @params)
        {
            var token = context.Request["oauth_token"];

            if (string.IsNullOrEmpty(token))
            {
                var request = TwitterConsumer.StartSignInWithTwitter(TwitterSignIn, false);
                request.Send();
            }
            else
            {
                string screenName;
                int    userId;
                string accessToken;
                if (TwitterConsumer.TryFinishSignInWithTwitter(TwitterSignIn, out screenName, out userId, out accessToken))
                {
                    //Sucess. Get information
                    var info    = TwitterConsumer.GetUserInfo(TwitterSignIn, userId, accessToken);
                    var profile = ProfileFromTwitter(info);
                    return(profile);
                }
                return(LoginProfile.FromError(new Exception("Login failed")));
            }


            return(null);
        }
        private void DoTwitterLogin(HttpContext context, string returnUrl)
        {
            if (TwitterConsumer.IsTwitterConsumerConfigured)
            {
                var token = context.Request["oauth_token"];
                if (string.IsNullOrEmpty(token))
                {
                    var request = TwitterConsumer.StartSignInWithTwitter(false);
                    request.Send();
                }
                else
                {
                    string screenName;
                    int    userId;
                    string accessToken;
                    if (TwitterConsumer.TryFinishSignInWithTwitter(out screenName, out userId, out accessToken))
                    {
                        //Sucess. Get information
                        var info    = TwitterConsumer.GetUserInfo(userId, accessToken);
                        var profile = UniversalProfile.ProfileFromTwitter(info);

                        RedirectToReturnUrl(context, returnUrl, profile);
                    }
                    else
                    {
                        RedirectToReturnUrl(context, returnUrl, UniversalProfile.FromError(new Exception("Login failed")));
                    }
                }
            }
        }
Example #3
0
        public string PrepareAuthRequest(PrepareAuthenticationContext context)
        {
            var callback =
                new Uri(Utils.GetUrlBase(context.Request) + context.RedirectPath);

            var consumer = new TwitterConsumer(context.SessionStorage);

            return(consumer
                   .StartSignInWithTwitter(callback)
                   .Headers["Location"]);
        }
        public ActionResult Index()
        {
            if (TwitterConsumer.IsTwitterConsumerConfigured)
            {
                string screenName;
                int    userId;
                string accessToken;
                if (TwitterConsumer.TryFinishSignInWithTwitter(out screenName, out userId, out accessToken))
                {
                    var user = Session.Query <User>().Search(x => x.TwitterId, userId.ToString()).SingleOrDefault();

                    if (user == null)
                    {
                        user              = new User();
                        user.Id           = Guid.NewGuid();
                        user.TwitterId    = userId.ToString();
                        user.RegisteredOn = DateTime.UtcNow;
                    }

                    user.Name             = screenName;
                    user.OAuthAccessToken = accessToken;
                    user.LastSignIn       = DateTime.UtcNow;

                    Session.Store(user);
                    Session.SaveChanges();

                    FormsAuthentication.SetAuthCookie(screenName, false);

                    if (HttpContext.Request.UrlReferrer != null && string.IsNullOrWhiteSpace(HttpContext.Request.UrlReferrer.AbsoluteUri) == false)
                    {
                        return(Redirect(HttpContext.Request.UrlReferrer.AbsoluteUri));
                    }

                    return(RedirectToAction("Index", "Home"));
                }
                else
                {
                    TwitterConsumer.StartSignInWithTwitter(false).Send();
                }
            }

            return(RedirectToAction("Index", "Home"));
        }
Example #5
0
        //
        // GET: /Account/LogOn

        public ActionResult LogOn()
        {
            string screenName;
            int    userID;

            if (TwitterConsumer.TryFinishSignInWithTwitter(out screenName, out userID))
            {
                string returnUrl = Request.QueryString["ReturnUrl"];
                FormsAuthentication.SetAuthCookie(screenName, false);
                if (Url.IsLocalUrl(returnUrl) && returnUrl.Length > 1 &&
                    returnUrl.StartsWith("/") &&
                    !returnUrl.StartsWith("//") &&
                    !returnUrl.StartsWith("/\\"))
                {
                    return(Redirect(returnUrl));
                }
                else
                {
                    return(RedirectToAction("Index", "Home"));
                }
            }

            return(TwitterConsumer.StartSignInWithTwitter(true).AsActionResult());
        }
Example #6
0
        // GET: /RSVP/RsvpTwitterBegin

        public ActionResult RsvpTwitterBegin(int id)
        {
            Uri callback = new Uri(new Uri(Realm.AutoDetect), Url.Action("RsvpTwitterFinish", new { id = id }));

            return(TwitterConsumer.StartSignInWithTwitter(false, callback).AsActionResult());
        }
 private static void TwitterLogin()
 {
     TwitterConsumer.StartSignInWithTwitter(true).Send();
 }
Example #8
0
 protected void signInButton_Click(object sender, ImageClickEventArgs e)
 {
     TwitterConsumer.StartSignInWithTwitter(this.forceLoginCheckbox.Checked).Send();
 }