/// <summary> /// Авторизация и получение токена в асинхронном режиме /// </summary> /// <param name="params">Данные авторизации</param> public Task AuthorizeAsync(ApiAuthParams @params) { var rTask = new Task(() => { Authorize(@params); }); rTask.Start(); return(rTask); }
/// <summary> /// Авторизация и получение токена /// </summary> /// <param name="params">Данные авторизации</param> public void Authorize(ApiAuthParams @params) { //подключение браузера через прокси if (@params.Host != null) { Browser.Proxy = WebProxy.GetProxy(@params.Host, @params.Port, @params.ProxyLogin, @params.ProxyPassword); } //если токен не задан - обычная авторизация if (@params.AccessToken == null) { AuthorizeWithAntiCaptcha( @params.ApplicationId, @params.Login, @params.Password, @params.Settings, @params.TwoFactorAuthorization, @params.CaptchaSid, @params.CaptchaKey ); // Сбросить после использования @params.CaptchaSid = null; @params.CaptchaKey = ""; } //если токен задан - авторизация с помощью токена полученного извне else { TokenAuth(@params.AccessToken, @params.UserId, @params.TokenExpireTime); } _ap = @params; }
/// <summary> /// Выполняет авторизацию с помощью маркера доступа (access token), полученного извне. /// </summary> /// <param name="accessToken">Маркер доступа, полученный извне.</param> /// <param name="userId">Идентификатор пользователя, установившего приложение (необязательный параметр).</param> public void Authorize(string accessToken, long?userId = null) { if (!string.IsNullOrWhiteSpace(accessToken)) { StopTimer(); AccessToken = accessToken; UserId = userId; _ap = new ApiAuthParams(); } }
/// <summary> /// Выполняет авторизацию с помощью маркера доступа (access token), полученного извне. /// </summary> /// <param name="accessToken">Маркер доступа, полученный извне.</param> /// <param name="userId">Идентификатор пользователя, установившего приложение (необязательный параметр).</param> /// <param name="expireTime">Время, в течении которого действует токен доступа (0 - бесконечно).</param> public void Authorize(string accessToken, long?userId = null, int expireTime = 0) { if (string.IsNullOrWhiteSpace(accessToken)) { return; } StopTimer(); LastInvokeTime = DateTimeOffset.Now; SetTimer(expireTime); AccessToken = accessToken; UserId = userId; _ap = new ApiAuthParams(); }
private void TokenAuth(string accessToken, long?userId, int expireTime) { if (string.IsNullOrWhiteSpace(accessToken)) { throw new ArgumentNullException(accessToken); } StopTimer(); LastInvokeTime = DateTimeOffset.Now; SetTimer(expireTime); AccessToken = accessToken; UserId = userId; _ap = new ApiAuthParams(); }
/// <summary> /// Авторизация и получение токена /// </summary> /// <param name="params">Данные авторизации</param> public void Authorize(ApiAuthParams @params) { Authorize( @params.ApplicationId, @params.Login, @params.Password, @params.Settings, @params.TwoFactorAuthorization, @params.CaptchaSid, @params.CaptchaKey, @params.Host, @params.Port ); _ap = @params; // Сбросить после использования _ap.CaptchaSid = null; _ap.CaptchaKey = ""; }
/// <summary> /// Функция логина в вк. /// </summary> /// <param name="login">Логин.</param> /// <param name="password">Пароль.</param> /// <returns>True, если успешно, false, если нет.</returns> public bool LogInVk(string login, string password) { if (string.IsNullOrEmpty(login) || string.IsNullOrEmpty(password)) return false; /*if (!CheckIfThisUserExistsInVK(login, password)) { return false; }*/ ClearMsgStack(); usersDict.Clear(); groupNamesDict.Clear(); receivedPostsCounter = -1; vkGroups = null; vkGroupsCount = 0; currentVkGroup = 0; lastReceivingDateForGroups.Clear(); try { var auth = new ApiAuthParams(); Settings scope = Settings.All; auth.Login = login; auth.Password = password; auth.ApplicationId = 5322484; auth.Settings = scope; // Первое, что пришло в голову. Есть примеры лучше? Правим код! try { vk.Authorize(auth); } catch (Exception) { using (TwoFactorAuthForm authForm = new TwoFactorAuthForm()) { auth.TwoFactorAuthorization = authForm.ShowDialogAndReturnKey; vk.Authorize(auth); } } } catch (Exception) { return false; } //lastReceivingDate = DateTime.Now; return (isLogged = true); }
/// <summary> /// Авторизация и получение токена в асинхронном режиме /// </summary> /// <param name="params">Данные авторизации</param> public Task AuthorizeAsync(ApiAuthParams @params) { var rTask = new Task(() => Authorize(@params)); rTask.Start(); return rTask; }
/// <summary> /// Выполняет авторизацию с помощью маркера доступа (access token), полученного извне. /// </summary> /// <param name="accessToken">Маркер доступа, полученный извне.</param> /// <param name="userId">Идентификатор пользователя, установившего приложение (необязательный параметр).</param> /// <param name="expireTime">Время, в течении которого действует токен доступа (0 - бесконечно).</param> public void Authorize(string accessToken, long? userId = null, int expireTime = 0) { if (string.IsNullOrWhiteSpace(accessToken)) { return; } StopTimer(); LastInvokeTime = DateTimeOffset.Now; SetTimer(expireTime); AccessToken = accessToken; UserId = userId; _ap = new ApiAuthParams(); }
/// <summary> /// Авторизация и получение токена /// </summary> /// <param name="params">Данные авторизации</param> public void Authorize(ApiAuthParams @params) { AuthorizeWithAntiCaptcha( @params.ApplicationId, @params.Login, @params.Password, @params.Settings, @params.TwoFactorAuthorization, @params.CaptchaSid, @params.CaptchaKey, @params.Host, @params.Port, @params.ProxyLogin, @params.ProxyPassword ); _ap = @params; // Сбросить после использования _ap.CaptchaSid = null; _ap.CaptchaKey = ""; }
/// <summary> /// Выполняет авторизацию с помощью маркера доступа (access token), полученного извне. /// </summary> /// <param name="accessToken">Маркер доступа, полученный извне.</param> /// <param name="userId">Идентификатор пользователя, установившего приложение (необязательный параметр).</param> public void Authorize(string accessToken, long? userId = null) { if (!string.IsNullOrWhiteSpace(accessToken)) { StopTimer(); AccessToken = accessToken; UserId = userId; _ap = new ApiAuthParams(); } }