![]() |
Как сделать авторизацию для 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 пользователем |
Kvarx, не ломайте голову.
Авторизация ВКонтакте. Для приложения на Win в качестве Web-компонента всегда можно "позвать" IE - насколь я помню, его API предусматривает встраивание окна браузера в сторонние приложения. |
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.