예제 #1
0
        /// <inheritdoc />
        public AuthorizationResult Validate(string validateUrl, string phoneNumber)
        {
            var dlg = new AuthForm();

            dlg.WebBrowser.Navigate(validateUrl);

            dlg.WebBrowser.Navigated += (sender, args) =>
            {
                var result = VkAuthorization.From(args.Uri.AbsoluteUri);

                if (!result.IsAuthorized)
                {
                    return;
                }

                dlg.Auth = new AuthorizationResult
                {
                    AccessToken = result.AccessToken,
                    ExpiresIn   = result.ExpiresIn,
                    UserId      = result.UserId,
                    State       = result.State
                };

                dlg.Close();
            };

            dlg.ShowDialog();

            return(dlg.Auth);
        }
예제 #2
0
        /// <inheritdoc />
        public AuthorizationResult Authorize()
        {
            var dlg = new AuthForm();

            dlg.WebBrowser.Navigate(
                CreateAuthorizeUrl(_authParams.ApplicationId, _authParams.Settings.ToUInt64(), Display.Mobile, "123456"));

            dlg.WebBrowser.Navigated += (sender, args) =>
            {
                var result = VkAuthorization.From(args.Uri.AbsoluteUri);

                if (!result.IsAuthorized)
                {
                    return;
                }

                dlg.Auth = new AuthorizationResult
                {
                    AccessToken = result.AccessToken,
                    ExpiresIn   = result.ExpiresIn,
                    UserId      = result.UserId,
                    State       = result.State
                };

                dlg.Close();
            };

            dlg.ShowDialog();

            return(dlg.Auth);
        }