Аутентификация openid и facebook в веб-приложении, работающем на localhost - PullRequest
0 голосов
/ 14 февраля 2012

Мое веб-приложение java / javascript находится в разработке, и у меня есть приложение javascript, которое связывается с моей базой данных (где я поддерживаю свои собственные идентификаторы пользователей) с помощью команд ajax POST для контейнера сервлета, работающего на localhost, на машине vmware.Я хочу иметь возможность входить в систему с помощью аутентификации Google, Yahoo и Facebook, используя эту настройку разработки, но при изучении метода OAuth 2.0 в Facebook создается впечатление, что ваше веб-приложение должно иметь ссылку на сайт Facebook и предоставлять ссылку для перенаправления.вернуться на свой сайт, когда аутентификация закончена.Этот метод не работает, потому что Facebook не может перенаправить на адрес локального хоста и связаться с моим компьютером, на котором нет веб-присутствия.

У меня есть те же проблемы с OpenID и аутентификацией Google / Yahoo?

Энди

Ответы [ 2 ]

0 голосов
/ 14 февраля 2012

Facebook OAuth работает с приложениями localhost. Это потому, что Facebook перенаправляет браузер на redirect_uri, который вы указали в oauth, ваш браузер знает, где находится http://localhost (я фактически использовал виртуальный хост в apache & windows vhosts, не знаю, если вы можете ввести localhost в качестве URL сайта в настройках вашего приложения). Отлично работает

Google Oauth, однако, по моему опыту, не работает на локальной версии. Каким-то образом сайт должен был быть доступен из самого Google (а не только из браузера), чтобы это работало, и этого не произошло, так что нет (точных деталей я не помню, извините)

Не знаю о других

0 голосов
/ 14 февраля 2012

Вы можете добавить записи DNS на локальном компьютере, чтобы mysite.com разрешил на локальном компьютере. Сделав это, вы сможете войти в систему со своего локального компьютера, чтобы выполнить ваши тесты.

В Windows вы можете сделать это, отредактировав файл: C:\Windows\System32\drivers\etc\hosts

Добавить новую строку:

127.0.0.1 mysite.com

Что касается OpenID, я не уверен, что примет ли входы с localhost URL-адресов, но он наверняка будет работать после добавления записи в файл hosts и наличия надлежащего домена (даже если он РАЗРЕШАЕТСЯ только на вашем компьютере).

Хитрость заключается в том, что после входа в систему Facebook или Google отвечают на ваше приложение примерно так: перенаправьте пользователя на mysite.com как прошедший проверку подлинности. Ваш браузер тогда распознает mysite.com как ваш компьютер, и он все работает.

...