/// <summary>
        /// Callback method once the login method is successfull.
        /// </summary>
        /// <param name="uri"></param>
        /// <param name="tcs"></param>
        protected static void OnSuccess(Uri uri, TaskCompletionSource<OAuthResult> tcs)
        {
            var queryParams = uri.Query;
            var parts = queryParams.Split('&');
            var queryMap = parts.Select(t => t.Split('=')).ToDictionary(kv => kv[0], kv => kv[1]);

            string result;
            queryMap.TryGetValue("result", out result);
            if ("success" == result)
            {
                string sessionToken;
                string authRes;
                queryMap.TryGetValue("fh_auth_session", out sessionToken);
                queryMap.TryGetValue("authResponse", out authRes);
                var oauthResult = new OAuthResult(OAuthResult.ResultCode.Ok, sessionToken,
                    Uri.UnescapeDataString(authRes));
                tcs.TrySetResult(oauthResult);
            }
            else
            {
                string errorMessage;
                queryMap.TryGetValue("message", out errorMessage);
                var oauthResult = new OAuthResult(OAuthResult.ResultCode.Failed, new Exception(errorMessage));
                tcs.TrySetResult(oauthResult);
            }
        }
        /// <summary>
        /// Callback method once the login method is successfull.
        /// </summary>
        /// <param name="uri"></param>
        /// <param name="tcs"></param>
        protected static void OnSuccess(Uri uri, TaskCompletionSource <OAuthResult> tcs)
        {
            var queryParams = uri.Query;
            var parts       = queryParams.Split('&');
            var queryMap    = parts.Select(t => t.Split('=')).ToDictionary(kv => kv[0], kv => kv[1]);

            string result;

            queryMap.TryGetValue("result", out result);
            if ("success" == result)
            {
                string sessionToken;
                string authRes;
                queryMap.TryGetValue("fh_auth_session", out sessionToken);
                queryMap.TryGetValue("authResponse", out authRes);
                var oauthResult = new OAuthResult(OAuthResult.ResultCode.Ok, sessionToken,
                                                  Uri.UnescapeDataString(authRes));
                tcs.TrySetResult(oauthResult);
            }
            else
            {
                string errorMessage;
                queryMap.TryGetValue("message", out errorMessage);
                var oauthResult = new OAuthResult(OAuthResult.ResultCode.Failed, new Exception(errorMessage));
                tcs.TrySetResult(oauthResult);
            }
        }
Beispiel #3
0
        private void browser_NavigateFailed(object sender, NavigationFailedEventArgs e)
        {
            Close();
            var result = new OAuthResult(OAuthResult.ResultCode.Failed, e.Exception);

            _tcs.TrySetResult(result);
        }
Beispiel #4
0
        private void backkey_Pressed(object sender, CancelEventArgs e)
        {
            Close();
            e.Cancel = true;
            var authResult = new OAuthResult(OAuthResult.ResultCode.Cancelled);

            _tcs.SetResult(authResult);
        }
 private void backkey_Pressed(object sender, CancelEventArgs e)
 {
     Close();
     e.Cancel = true;
     var authResult = new OAuthResult(OAuthResult.ResultCode.Cancelled);
     _tcs.SetResult(authResult);
 }
 private void browser_NavigateFailed(object sender, NavigationFailedEventArgs e)
 {
     Close();
     var result = new OAuthResult(OAuthResult.ResultCode.Failed, e.Exception);
     _tcs.TrySetResult(result);
 }