@ideas4ru

Как сделать авторизацию для Java standalone приложения через Вконтакте?

Всем привет,

UPD: Пару часов назад запостил этот вопрос в посты. Получил минусов и перенес сюда.

Постараюсь подробнее объяснить, что хочу реализовать.
Есть десктопное java приложение (не Android), в которое хочется вставить авторизацию ВКонтакте.

При этом требование, чтоб приложение теоретически не могло бы перехватить, введенный пользователем пароль.


После изучения задачи, понял, что есть 3 варианта реализации:
1) HttpGet: делаем прямой запрос к Вконтакте, посылаем логин и пароль, введенным пользователем в приложении.
Недостатки: сами разработчики ВКонтакте не рекомендуют такой способ, как ненадежный и который может быть закрыт в любой момент.
Примеров такого кода на Хабре навалом:
habrahabr.ru/post/144813/
habrahabr.ru/post/92693/

2) Открываем окно браузера через desktop.browse() со специально сформированным запросом вида
oauth.vk.com/authorize?client_id=APP_ID& итд
Дальше пользователь независимо от приложения в браузере вводит пароль, нажимает кпопку согласие, перенаправляется на страницу с access_token.
Недостатки: через Desktop объект невозможно получить URL страницы, куда пользователь был перенаправлен, а значит и не получиться извлечь access_token.

3) Формируем запрос из пункта 2 не в стороннем браузере, а показываем пользователю внутри этого же приложения с помощью элемента, типа WebView.
Недостатки:
а) Тут пишут, что WebView сильно тормозит
stackoverflow.com/questions/8374365/integrating-javafx-2-0-webview-into-a-swing-java-se-6-application
б) Думается, что существуют возможность перехвата введенных данных — пароля в webview пользователем
  • Вопрос задан
  • 7562 просмотра
Пригласить эксперта
Ответы на вопрос 1
brainfucker
@brainfucker
2й или 3й вариант, тормоза в рамках этой задачи едва ли играют роль
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы