コード例 #1
0
ファイル: Browser.Async.cs プロジェクト: slay9090/vk
        /// <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));
        }
コード例 #2
0
ファイル: Browser.Async.cs プロジェクト: ivan213k/vk
        /// <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);
        }
コード例 #3
0
        /// <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);
        }
コード例 #4
0
ファイル: Browser.Async.cs プロジェクト: ivan213k/vk
        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));
        }
コード例 #5
0
ファイル: Browser.Async.cs プロジェクト: wowbios/vk
        /// <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));
        }
コード例 #6
0
ファイル: Browser.Async.cs プロジェクト: slay9090/vk
        /// <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));
        }