internal static void ProcessLoginResult(string result, bool wasValidating, Action <VKValidationResponse> validationCallback) { bool success = false; if (result == null) { SetAccessTokenError(new VKError { error_code = (int)VKResultCode.UserAuthorizationFailed }); } else { var tokenParams = VKUtil.ExplodeQueryString(result); if (CheckAndSetToken(tokenParams, wasValidating) == CheckTokenResult.Success) { success = true; } } if (validationCallback != null) { validationCallback(new VKValidationResponse { IsSucceeded = success }); } }
/// <summary> /// Retreive token from key-value query string /// </summary> /// <param name="urlString">String that contains URL-query part with token. E.g. access_token=eee&expires_in=0..</param> /// <returns>parsed token</returns> public static VKAccessToken FromUrlString(String urlString) { if (urlString == null) { return(null); } var args = VKUtil.ExplodeQueryString(urlString); return(TokenFromParameters(args)); }
public static bool HandleUri(Uri uri) { var tempUriStr = uri.ToString(); if (tempUriStr.StartsWith("/Protocol")) { var outerQueryParamsString = VKUtil.GetParamsOfQueryString(tempUriStr); if (!string.IsNullOrEmpty(outerQueryParamsString)) { var outerQueryParams = VKUtil.ExplodeQueryString(outerQueryParamsString); if (outerQueryParams.ContainsKey("encodedLaunchUri")) { var launchUriEncoded = outerQueryParams["encodedLaunchUri"]; var launchUriDecoded = WebUtility.UrlDecode(launchUriEncoded); if (launchUriDecoded.StartsWith("vk") && launchUriDecoded.Contains("://authorize")) { launchUriDecoded = launchUriDecoded.Replace("authorize/#", "authorize/?"); var innerQueryParamsString = VKUtil.GetParamsOfQueryString(launchUriDecoded); VKSDK.ProcessLoginResult(innerQueryParamsString, false, null); return(true); } else { // default start return(true); } } } } return(false); }