Example #1
0
        public static async Task<LoginResult> Login(Credentials credentials)
        {
            var cookies = new CookieContainer();
            var handler = new HttpClientHandler();
            handler.CookieContainer = cookies;

            using (var client = new HttpClient(handler))
            {
                client.BaseAddress = new Uri(serviceUrl);
                client.DefaultRequestHeaders.Accept.Clear();
                client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

                var response = await client.PostAsJsonAsync("/api/login", credentials);
                response.EnsureSuccessStatusCode();

                IEnumerable<Cookie> responseCookies = cookies.GetCookies(client.BaseAddress).Cast<Cookie>();
                foreach (Cookie cookie in responseCookies)
                {
                    if (cookie.Name.Equals("opc.sess"))
                    {
                        SessionStore.GetInstance().SessionCookie = cookie;
                        break;
                    }
                }

                return await response.Content.ReadAsAsync<LoginResult>();
            }
        }
Example #2
0
        public async void Login(Credentials credentials)
        {
            var result = await BackendServiceProxy.Login(credentials);

            if (result.Success)
            {
                if (this.LogedIn != null)
                {
                    this.LogedIn(this, EventArgs.Empty);
                }
            }
            else
            {
                throw new Exception(result.Msg);
            }
        }