예제 #1
0
        /// <summary>
        /// Авторизация и получение токена в асинхронном режиме
        /// </summary>
        /// <param name="params">Данные авторизации</param>
        public Task AuthorizeAsync(ApiAuthParams @params)
        {
            var rTask = new Task(() => { Authorize(@params); });

            rTask.Start();
            return(rTask);
        }
예제 #2
0
        /// <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();
        }
예제 #3
0
        /// <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 = "";
        }