/// <summary> /// Открытие окна авторизацииасинхронно /// </summary> /// <param name="appId"> id приложения </param> /// <param name="settings"> Настройки приложения </param> /// <returns> </returns> private async Task <WebCallResult> OpenAuthDialogAsync(ulong appId , [NotNull] Settings settings) { var url = CreateAuthorizeUrlFor(appId: appId, settings: settings, display: Display.Page); return(await WebCall.MakeCallAsync(url : url, webProxy : Proxy)); }
/// <summary> /// Открытие окна авторизацииасинхронно /// </summary> /// <param name="appId"> id приложения </param> /// <param name="settings"> Настройки приложения </param> /// <returns> </returns> private Task <WebCallResult> OpenAuthDialogAsync(ulong appId , [NotNull] Settings settings) { var url = CreateAuthorizeUrlFor(appId: appId, settings: settings, display: Display.Page); var task = WebCall.MakeCallAsync(url: url, webProxy: Proxy); task.ConfigureAwait(false); return(task); }
/// <summary> /// Открытие окна авторизацииасинхронно /// </summary> /// <param name="appId"> id приложения </param> /// <param name="settings"> Настройки приложения </param> /// <returns> </returns> private Task <WebCallResult> OpenAuthDialogAsync(ulong appId , [NotNull] Settings settings) { var url = CreateAuthorizeUrl(appId, settings.ToUInt64(), Display.Page, "123456"); var task = WebCall.MakeCallAsync(url: url.ToString(), webProxy: Proxy); task.ConfigureAwait(false); return(task); }
private async Task <VkAuthorization> ValidateInternalAsync(string validateUrl, string phoneNumber) { var validateUrlResult = await WebCall.MakeCallAsync(url : validateUrl, webProxy : Proxy).ConfigureAwait(false); var codeForm = WebForm.From(result: validateUrlResult) .WithField(name: "code") .FilledWith(value: phoneNumber.Substring(startIndex: 1, length: 8)); var codeFormPostResult = await WebCall.PostAsync(form : codeForm, webProxy : Proxy).ConfigureAwait(false); return(await EndAuthorizeAsync(result : codeFormPostResult, webProxy : Proxy).ConfigureAwait(false)); }
/// <summary> /// Выполняет обход ошибки валидации асинхронно: https://vk.com/dev/need_validation /// </summary> /// <param name="validateUrl">Адрес страницы валидации</param> /// <param name="phoneNumber">Номер телефона, который необходимо ввести на странице валидации</param> /// <returns>Информация об авторизации приложения.</returns> public async Task <VkAuthorization> ValidateAsync(string validateUrl, string phoneNumber) { if (string.IsNullOrWhiteSpace(validateUrl)) { throw new ArgumentException("Не задан адрес валидации!"); } if (string.IsNullOrWhiteSpace(phoneNumber)) { throw new ArgumentException("Не задан номер телефона!"); } var validateUrlResult = await WebCall.MakeCallAsync(validateUrl, Proxy); var codeForm = WebForm.From(validateUrlResult) .WithField("code") .FilledWith(phoneNumber.Substring(1, 8)); var codeFormPostResult = await WebCall.PostAsync(codeForm, Proxy); return(await EndAuthorizeAsync(codeFormPostResult, Proxy)); }
/// <summary> /// Выполняет обход ошибки валидации асинхронно: https://vk.com/dev/need_validation /// </summary> /// <param name="validateUrl"> Адрес страницы валидации </param> /// <param name="phoneNumber"> /// Номер телефона, который необходимо ввести на /// странице валидации /// </param> /// <returns> Информация об авторизации приложения. </returns> public async Task <VkAuthorization> ValidateAsync(string validateUrl, string phoneNumber) { if (string.IsNullOrWhiteSpace(value: validateUrl)) { throw new ArgumentException(message: "Не задан адрес валидации!"); } if (string.IsNullOrWhiteSpace(value: phoneNumber)) { throw new ArgumentException(message: "Не задан номер телефона!"); } var validateUrlResult = await WebCall.MakeCallAsync(url : validateUrl, webProxy : Proxy); var codeForm = WebForm.From(result: validateUrlResult) .WithField(name: "code") .FilledWith(value: phoneNumber.Substring(startIndex: 1, length: 8)); var codeFormPostResult = await WebCall.PostAsync(form : codeForm, webProxy : Proxy); return(await EndAuthorizeAsync(result : codeFormPostResult, webProxy : Proxy)); }