예제 #1
0
        public void Login()
        {
            VkDisk.VkApi.Authorize(new ApiAuthParams
            {
                //ApplicationId = VkDisk.ApplicationId,
                Login    = _login,
                Password = _password,
                //Settings = VkDisk.Settings,
                //TwoFactorAuthorization = _action
            });

            //VkDisk.VkApi.Stats.TrackVisitor();

            if (VkDisk.VkApi.Token != null)
            {
                User.UserId = VkDisk.VkApi.UserId.ToString();
                PrivateDataManager.SaveLoginPass(_login, _password);
                PrivateDataManager.SaveToken(VkDisk.VkApi.Token, DateTime.Now);
            }
        }
예제 #2
0
        private static bool TryTokenLogin()
        {
            if (PrivateDataManager.TokenAssigned == null)
            {
                return(false);
            }

            if (PrivateDataManager.TokenExpire != null)
            {
                if (PrivateDataManager.TokenAssigned.Value.AddSeconds(PrivateDataManager.TokenExpire.Value) <
                    DateTime.Now)
                {
                    return(false);
                }
            }

            if (PrivateDataManager.TokenAssigned.Value.AddMonths(3) < DateTime.Now)
            {
                var receipt  = ((VkAndroidAuthorization)VkDisk.VkApi.AuthorizationFlow).ReceiptParser.GetReceipt().Result;
                var newToken = ((VkAndroidAuthorization)VkDisk.VkApi.AuthorizationFlow).RefreshTokenAsync(PrivateDataManager.Token, receipt).Result;
                PrivateDataManager.SaveToken(newToken);
            }

            try
            {
                VkDisk.VkApi.Authorize(new ApiAuthParams
                {
                    AccessToken = PrivateDataManager.Token
                });

                VkDisk.VkApi.UserId = long.Parse(PrivateDataManager.UserId);
            }
            catch
            {
                return(false);
            }

            //if (VkDisk.VkApi.Token == null) return false;

            return(VkDisk.VkApi.IsAuthorized);
        }
예제 #3
0
        /// <summary>
        /// Попытка войти с сохраненными данными
        /// </summary>
        /// <returns>успешно или нет</returns>
        private static bool TryLogin(Func <string> twoFactor)
        {
            if (PrivateDataManager.Login == null)
            {
                return(false);
            }

            var login = PrivateDataManager.Login;

            try
            {
                VkDisk.VkApi.Authorize(new ApiAuthParams
                {
                    //ApplicationId = VkDisk.ApplicationId,
                    //Settings = VkDisk.Settings,
                    Login    = login,
                    Password = PrivateDataManager.Password,
                    //TwoFactorAuthorization = twoFactor
                });
            }
            catch
            {
                return(false);
            }

            if (VkDisk.VkApi.Token == null)
            {
                return(false);
            }

            User.UserId = VkDisk.VkApi.UserId.ToString();
            PrivateDataManager.SaveToken(VkDisk.VkApi.Token);

            //VkDisk.VkApi.Stats.TrackVisitor();

            return(VkDisk.VkApi.Token != null);
        }