Exemple #1
0
        /// <summary>
        /// Выполняет авторизацию по указанному токену.
        /// </summary>
        /// <param name="token">Токен авторизации.</param>
        public void Login(VKAccessToken token)
        {
            settingsService.Set(ACCESS_TOKEN_PARAMETER, token);

            if (UserLogin != null)
            {
                UserLogin(this, EventArgs.Empty);
            }
        }
 public override void OnVKAccessTokenChanged(VKAccessToken oldToken, VKAccessToken newToken)
 {
     if (newToken == null)
     {
         Toast.MakeText(Context, "AccessToken invalidated", ToastLength.Long).Show();
         var intent = new Intent(Context, typeof(LoginVKView));
         intent.SetFlags(ActivityFlags.NewTask | ActivityFlags.ClearTop);
         Context.StartActivity(intent);
     }
 }
Exemple #3
0
 public override void AccessTokenUpdated(VKAccessToken newToken, VKAccessToken oldToken)
 {
     if (newToken != null && oldToken != null)
     {
         if (!TCS.Task.IsCanceled)
         {
             TCS.TrySetResult(newToken.AccessToken);
         }
     }
 }
Exemple #4
0
 /// <summary>
 /// Выполняет инициализацию помощника.
 /// </summary>
 /// <param name="accessToken">Ключ доступа.</param>
 /// <param name="userID">Идентификатор текущего пользователя.</param>
 internal static void Initialize(string accessToken, ulong userID)
 {
     if (_accessToken != null)
     {
         throw new InvalidOperationException("Инициализация помощника уже выполнена.");
     }
     _accessToken = new VKAccessToken {
         AccessToken = accessToken, UserID = userID, ExpiresIn = 0
     };
 }
Exemple #5
0
        public void SetUserToken(VKAccessToken token)
        {
            _loginResult = new LoginResult
            {
                Email    = token.Email,
                Token    = token.AccessToken,
                ExpireAt = Utils.FromMsDateTime(token.ExpiresIn)
            };

            Task.Run(GetUserInfo);
        }
        public void SetUserToken(VKAccessToken token)
        {
            _loginResult = new LoginResultDataObject
            {
                Email    = token.Email,
                Token    = token.AccessToken,
                Id       = token.UserId,
                ExpireAt = FromMsDateTime(token.ExpiresIn),
            };

            Task.Run(GetUserInfo);
        }
        public void SetUserToken(VKAccessToken token)
        {
            Toast.MakeText(Context, "setusertoken", ToastLength.Short).Show();
            _loginResult = new LoginResult
            {
                Email  = token.Email,
                Token  = token.AccessToken,
                UserId = token.UserId,
                //ExpireAt = Utils.FromMsDateTime(token.ExpiresIn)
            };

            Task.Run(GetUserInfo);
        }
Exemple #8
0
        /// <summary>
        /// Сбрасывает состояние обработчика.
        /// </summary>
        public static void Reset()
        {
#if ONEVK_CORE
            ServiceHelper.VKLongPollService.StopLongPolling();
            _settings.AccessToken = null;
#else
            _accessToken = null;
#endif
            if (LoginNeeded != null)
            {
                LoginNeeded();
            }
        }
Exemple #9
0
        private void browser_NavigationStarting(WebView sender, WebViewNavigationStartingEventArgs args)
        {
            _isLoading   = true;
            _isCompleted = false;
            LoginCommand.RaiseCanExecuteChanged();
            VisualStateManager.GoToState(this, "Loading", true);
            if (args.Uri.AbsoluteUri.Contains("token="))
            {
                _isCompleted = true;
                var    parts  = args.Uri.Fragment.Substring(1).Split('&').ToArray();
                string token  = parts[0].Split('=')[1];
                ulong  userID = ulong.Parse(parts[2].Split('=')[1]);

                var accessToken = new VKAccessToken {
                    AccessToken = token, UserID = (long)userID
                };

                var response = new VKLoginResponse(token, userID);
                ServiceHelper.VKLoginService.CompleteLogIn(response);

                if (!((LoginViewModel)DataContext).LoginToken(accessToken))
                {
                    VisualStateManager.GoToState(this, "Normal", true);
                    return;
                }

                //Messenger.Default.Send(new LoginMessage { State = VKLoginStates.Login });
            }
            else if (args.Uri.AbsoluteUri.Contains("error="))
            {
                var    parts = args.Uri.Fragment.Substring(1).Split('&').ToArray();
                string error = parts[0].Split('=')[1];

                if (error == "access_denied")
                {
                    ServiceHelper.DialogService.ShowMessage(
                        "Не удалось выполнить авторизацию. Возможно, вы ее отменили.",
                        "Ошибка авторизации");
                }
                _isCompleted = true;
                VisualStateManager.GoToState(this, "Normal", true);
            }
        }
Exemple #10
0
 /// <summary>
 /// Выполняет авторизацию по токену.
 /// </summary>
 /// <param name="token">Токен авторизации.</param>
 public bool LoginToken(VKAccessToken token)
 {
     loginService.Login(token);
     return(CompleteLogin());
 }
 public void TokenHasExpired(VKAccessToken expiredToken)
 {
     VKSdk.Authorize(_permissions);
 }
Exemple #12
0
 /**
  * Notifies listener about existing token has expired
  *
  * @param expiredToken old token that has expired
  */
 public abstract void onTokenExpired(VKAccessToken expiredToken);
Exemple #13
0
 /**
  * Notifies listener about renewing access token (for example, user passed validation)
  *
  * @param token used token for API requests
  */
 public void onRenewAccessToken(VKAccessToken token)
 {
 }
Exemple #14
0
 /**
  * Notifies listener about receiving new access token
  *
  * @param newToken new token for API requests
  */
 public void onReceiveNewToken(VKAccessToken newToken)
 {
 }
Exemple #15
0
 /**
  * Notifies listener about receiving predefined token
  *
  * @param token used token for API requests
  */
 public void onAcceptUserToken(VKAccessToken token)
 {
 }