IMHO.WS

IMHO.WS (http://www.imho.ws/index.php)
-   Программирование (http://www.imho.ws/forumdisplay.php?f=40)
-   -   Как сделать авторизацию для Java standalone приложения через Вконтакте? (http://www.imho.ws/showthread.php?t=147268)

Kvarx 11.10.2012 18:21

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

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

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


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

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

3) Формируем запрос из пункта 2 не в стороннем браузере, а показываем пользователю внутри этого же приложения с помощью элемента, типа WebView.
Недостатки:
а) Надо, кажется, ставить JavaFX каждому клиенту отдельно
б) Думается, что существуют возможность перехвата введенных данных — пароля в webview пользователем

Borland 12.10.2012 09:32

Kvarx, не ломайте голову.
Авторизация ВКонтакте.
Для приложения на Win в качестве Web-компонента всегда можно "позвать" IE - насколь я помню, его API предусматривает встраивание окна браузера в сторонние приложения.

Hubbitus 31.12.2012 20:49

http://www.askdev.ru/java/1562/vkont...BD%D0%B0-java/

http://habrahabr.ru/qa/26213/

Обратите внимание, что вконтакте поддерживает авторизацию с ssl шифрованием (https://) где пароль перехватить в общем-то не возможно.


Часовой пояс GMT +4, время: 14:39.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.