/// <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); } }
private void browser_NavigateFailed(object sender, NavigationFailedEventArgs e) { Close(); var result = new OAuthResult(OAuthResult.ResultCode.Failed, e.Exception); _tcs.TrySetResult(result); }
private void backkey_Pressed(object sender, CancelEventArgs e) { Close(); e.Cancel = true; var authResult = new OAuthResult(OAuthResult.ResultCode.Cancelled); _tcs.SetResult(authResult); }