Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Возникновение неочевидной ошибки при попытке авторизоваться с заблокированного аккаунта #625

Closed
1 task done
Kishgal opened this issue Jul 2, 2018 · 5 comments
Labels
Ошибка В существующем функционале есть проблема

Comments

@Kishgal
Copy link

Kishgal commented Jul 2, 2018

При вызове метода Authorize

public void Authorize(IApiAuthParams @params)

с временно (или постоянно) заблокированным аккаунтом выбрасывается странное исключение. Текст исключения: "Form element not found."

  1. Target для .NET используемый в проекте:
  • .net 4.5
  1. Класс и метод в котором возникла проблема: VkApi.cs, VkNet.Utils.WebForm

  2. Пример кода для воспроизведения проблемы:

Stack trace:
в VkNet.Utils.WebForm.GetFormNode()
в VkNet.Utils.WebForm.ParseInputs()
в VkNet.Utils.WebForm..ctor(WebCallResult result)
в VkNet.Utils.Browser.EndAuthorize(WebCallResult result, IWebProxy webProxy)
в VkNet.Utils.Browser.Authorize(IApiAuthParams authParams)
в VkNet.VkApi.BaseAuthorize(IApiAuthParams authParams)
в VkNet.VkApi.AuthorizeWithAntiCaptcha(IApiAuthParams authParams)
в VkNet.VkApi.Authorize(IApiAuthParams params)

@inyutin-maxim
Copy link
Member

inyutin-maxim commented Jul 2, 2018

@Kishgal У вас Desctop приложение? если да как временный WorkArround предлагаю реализовать как в WPF примере:
Требуется только реализация интерфейса IBrowser как здесь
И подсунуть ее в конструктор 3-м параметром

@inyutin-maxim inyutin-maxim added the Ошибка В существующем функционале есть проблема label Jul 2, 2018
@Kishgal
Copy link
Author

Kishgal commented Jul 2, 2018

@inyutin-maxim Да, приложение десктопное. Спасибо за помощь!

@inyutin-maxim inyutin-maxim modified the milestones: v1.37.0, v2.0.0 Jul 6, 2018
@CaCTuCaTu4ECKuu CaCTuCaTu4ECKuu changed the title Возникновение не очевидной ошибки при попытке авторизоваться с заблокированного аккаунта Возникновение неочевидной ошибки при попытке авторизоваться с заблокированного аккаунта Jul 11, 2018
@Soniclev
Copy link
Contributor

Soniclev commented Aug 6, 2018

Вк возвращает json-ответ в случае какой-либо ошибки. Например, если попытаться авторизоваться с AppId приложения, которое заблокировано, то библиотека тоже выдаёт "Form element not found.". image
Для заблокированного пользователя наверное будет что-то типа user is banned
Так же, ещё нашёл в интернете:

  • application was deleted

UPD.

  • {"error":"invalid_client","error_description":"client_id is incorrect"}

@inyutin-maxim
Copy link
Member

Ну мне кажется это ожидаемый эффект, вот эта проблема применима только к консольным приложениям, для всех остальных рекомендую выносить авторизацию в вебвью, либо если это веб приложение сам бог велел в браузере после авторизации редирректить на твой сервис

inyutin-maxim pushed a commit that referenced this issue May 23, 2020
* Удалить VkApiAuthorizationException дублирующий VkAuthorizationException

* Переместить ImplicitFlow, ImplicitFlowVkAuthorization

* Передавать параметры авторизации через параметры метода в формах авторизации

* ImplicitFlow: использовать новое апи для построения Url

* ImplicitFlowVkAuthorization: рефакторинг

* Обновить сообщения об ошибках

* Не выбрасывать исключения на опциональных отсутствующих параметрах

* Упростить алгоритм парсинга query

* AuthorizationFormHtmlParser: улучшить обработку ошибок

#625

* ImplicitFlowTests_CreateAuthorizeUrl: конвертировать скоуп в битовую маску

* Переместить формы авторизации ImplicitFlow в отдельную папку Forms

* Переместить ImplicitFlowPageType в папку ImplicitFlow

* Задеприкейтить весь стафф связанный с Browser

* Использовать ImplicitFlow вместо Browser как провайдер авторизации по умолчанию

* ImplicitFlow: предовратить зацикливание при неверном логине\пароле

* Удалить неиспользуемые using

* ImplicitFlowVkAuthorization: выбрасывать исключение если не удалось определить тип страницы авторизации

* ImplicitFlowVkAuthorization: изменить порядок условий в методе GetPageType

* ImplicitFlowTests_Authorize: убрать последовательность из setup mock'а
@itsokto itsokto removed this from the v2.0.0 milestone May 30, 2020
@itsokto
Copy link
Collaborator

itsokto commented May 30, 2020

Обсуждение проблем с авторизацией переносится в #997

@itsokto itsokto closed this as completed May 30, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Ошибка В существующем функционале есть проблема
Projects
None yet
Development

No branches or pull requests

4 participants