示例#1
0
        private void StartGuestChatActivity(JsonServiceClient client)
        {
            client.ClearCookies();
            var intent = new Intent(this, typeof(MainActivity));

            intent.PutExtra("SSCookie", "");
            StartActivity(intent);
        }
        public void CanAccessWithIdOnHeader()
        {
            Random rnd = new Random(DateTime.Now.Millisecond);
            var msg = rnd.Next().ToString();

            var client = new JsonServiceClient(Config.AbsoluteBaseUri);
            var authResponse = client.Post(new Authenticate {UserName = "******", Password = "******", RememberMe = false});

            var cookieValues = client.GetCookieValues();
            client.ClearCookies();

            //Test Auth with ID Header
            client.Headers.Add("X-ss-id", cookieValues["ss-id"]);

            var testResponse = client.Get(new TestRequest { Msg = msg });
            Assert.AreEqual(msg, testResponse.Msg);
        }
示例#3
0
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);

            // Create your application here
            // Set our view from the "main" layout resource
            SetContentView(Resource.Layout.login);

            SupportToolbar toolbar = FindViewById <SupportToolbar>(Resource.Id.loginToolbar);

            SetSupportActionBar(toolbar);
            SupportActionBar.SetHomeButtonEnabled(true);
            SupportActionBar.SetDisplayShowTitleEnabled(true);

            progressBar = FindViewById <ProgressBar>(Resource.Id.progressBar);

            animation             = ObjectAnimator.OfInt(progressBar, "progress", 0, 500); // see this max value coming back here, we animale towards that value
            animation.RepeatMode  = ValueAnimatorRepeatMode.Reverse;
            animation.RepeatCount = 100;
            animation.SetDuration(1500);
            animation.SetInterpolator(new FastOutLinearInInterpolator());

            var btnTwitter = FindViewById <ImageButton>(Resource.Id.btnTwitter);
            var btnAnon    = FindViewById <ImageButton>(Resource.Id.btnAnon);
            var client     = new JsonServiceClient(MainActivity.BaseUrl);

            btnTwitter.Click += async(sender, args) =>
            {
                StartProgressBar();
                Account existingAccount;
                // If cookies saved from twitter login, automatically continue to chat activity.
                if (TryResolveAccount(out existingAccount))
                {
                    try
                    {
                        client.CookieContainer = existingAccount.Cookies;
                        await client.GetAsync(new GetUserDetails());

                        StartAuthChatActivity(client, existingAccount);
                    }
                    catch (Exception)
                    {
                        // Failed with current cookie
                        client.ClearCookies();
                        PerformServiceStackAuth(client);
                    }
                }
                else
                {
                    PerformServiceStackAuth(client);
                }
                StopProgressBar();
            };

            btnAnon.Click += (sender, args) =>
            {
                StartProgressBar();
                StartGuestChatActivity(client);
                StopProgressBar();
            };
        }
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);

            // Create your application here
            // Set our view from the "main" layout resource
            SetContentView(Resource.Layout.login);

            SupportToolbar mToolbar = FindViewById<SupportToolbar>(Resource.Id.loginToolbar);
            SetSupportActionBar(mToolbar);
            SupportActionBar.SetHomeButtonEnabled(true);
            SupportActionBar.SetDisplayShowTitleEnabled(true);

            progressBar = FindViewById<ProgressBar>(Resource.Id.progressBar);

            animation = ObjectAnimator.OfInt(progressBar, "progress", 0, 500); // see this max value coming back here, we animale towards that value
            animation.RepeatMode = ValueAnimatorRepeatMode.Reverse;
            animation.RepeatCount = 100;
            animation.SetDuration(1500);
            animation.SetInterpolator(new FastOutLinearInInterpolator());

            var btnTwitter = FindViewById<ImageButton>(Resource.Id.btnTwitter);
            var btnAnon = FindViewById<ImageButton>(Resource.Id.btnAnon);
            var client = new JsonServiceClient(MainActivity.BaseUrl);
            
            btnTwitter.Click += (sender, args) =>
            {
                StartProgressBar();
                Account existingAccount;
                // If cookies saved from twitter login, automatically continue to chat activity.
                if (TryResolveAccount(out existingAccount))
                {
                    try
                    {
                        client.CookieContainer = existingAccount.Cookies;
                        var task = client.GetAsync(new GetUserDetails());
                        task.ConfigureAwait(false);
                        task.ContinueWith(res =>
                        {
                            if (res.Exception != null)
                            {
                                // Failed with current cookie 
                                client.ClearCookies();
                                PerformServiceStackAuth(client);
                                StopProgressBar();
                            }
                            else
                            {
                                StartAuthChatActivity(client, existingAccount);
                                StopProgressBar();
                            }
                            
                        });
                    }
                    catch (Exception)
                    {
                        // Failed with current cookie 
                        client.ClearCookies();
                        StopProgressBar();
                        PerformServiceStackAuth(client);
                    }
                }
                else
                {
                    StopProgressBar();
                    PerformServiceStackAuth(client);
                }
                    
            };

            btnAnon.Click += (sender, args) =>
            {
                StartProgressBar();
                StartGuestChatActivity(client);
                StopProgressBar();
            };
        }
 private void StartGuestChatActivity(JsonServiceClient client)
 {
     client.ClearCookies();
     var intent = new Intent(this, typeof(MainActivity));
     intent.PutExtra("SSCookie", "");
     StartActivity(intent);
 }