fbconnect с java play framework

Я использую модуль fbconnect в своем игровом приложении, но получаю следующую ошибку.

Не удалось скомпилировать файл {module: fbconnect} /app/controllers/FBConnect.java. Возникла ошибка: play.modules.fbconnect.FBConnectPlugin не может быть разрешен

Я загрузил fbconnect с Здесь. Переименовал папку в fbconnect и вставил в

C:/play/myproject/modules

В dependencies.yml я поставил

require:
- play -> fbconnect 0.6

В C: /play/myproject/conf/application.config

# Facebook Connect
# ~~~~~
fbconnect.id=APP_ID
fbconnect.apiKey=API_KEY
fbconnect.secret=APP_SECRET
fbconnect.model=models.User
fbconnect.landUrl=/

Что делаю не так. после загрузки fbconnect и внесения необходимых изменений в dependencies.yml и application.conf. Я также запускаю игровые зависимости.

заранее спасибо


person Zoha Ali Khan    schedule 09.07.2012    source источник
comment
просто интересно - какая это версия игры? Если 1. +, по какой причине вы предпочли бы это социальному обеспечению?   -  person ali haider    schedule 10.07.2012
comment
@ali haider что такое социальная безопасность?   -  person Zoha Ali Khan    schedule 10.07.2012
comment
если вы используете play 1. +, а не 2. +, вы можете изучить социальную безопасность (playframework.org/modules). Я не уверен, доступна ли социальная безопасность для игры 2.0+.   -  person ali haider    schedule 10.07.2012
comment
@ali haider Я использую 1. что-то   -  person Zoha Ali Khan    schedule 10.07.2012
comment
Есть ли какой-либо учебник, в котором объясняется, как использовать этот модуль для реализации входа в систему с помощью facebook для моего сайта?   -  person Zoha Ali Khan    schedule 10.07.2012


Ответы (2)


Если вы планируете вход в Facebook, а также вход в другие сети (например, в Twitter или Google), я предлагаю вам выбрать современную библиотеку на Java, проблема с модулями 1.x заключается в том, что метод сети, используемые для взаимодействия с их API-интерфейсами, как правило, устарели.

Я хотел выполнить вход в Facebook и Google и попытался использовать безопасные социальные сети для 1.2.4, проблема в том, что теперь Google использует OAuth2 вместо первого OAuth. Я даже пытался изменить модуль, используя исходный код из play 2.0 scala securesocial, и «перевести» его на java.

Поэтому я просто выбрал java-библиотеку (которая обычно обновлена), scribe (https://github.com/fernandezpablo85/scribe-java), и он работал отлично.

Что именно я сделал:

  • Проверьте страницу scribe-java на github
  • Загрузите вилку, которую я хотел, из списка вилок
  • Сборка из Maven
  • Закодировал то, что мне нужно

Удачи с вашим приложением.

person Alex    schedule 11.07.2012

По следующему URL-адресу представлена ​​более подробная информация о безопасных социальных сетях (с игровой платформой 1.0+):

http://www.playframework.org/modules/securesocial-0.2.4/home

Если вы хотите работать с социальным графом, а не только с авторизацией, я бы порекомендовал restFB или batchFB.

Шаги: Для настройки: либо используйте:

play install socialsecure-0.2.4

или добавьте в файл dependencies.yml

require:
  -play -> securesocial 0.2.4

а затем беги

play deps

Добавьте маршрут в файл маршрутов:

*       /auth       module:securesocial

Добавьте следующее к любому классу контроллера, которому требуется аутентификация:

@With( SecureSocial.class )
public class Application extends Controller {

Убедитесь, что ваш провайдер, например twitter или facebook находятся в списке провайдеров в файле application.conf. Также убедитесь, что у вас есть правильный ключ / идентификатор и секрет для вашего приложения (указанные в файле application.conf). После этого убедитесь, что ваши ссылки на securesocial на месте (если нет, запустите play eclipsify или соответствующую команду для любой IDE, которую вы используете). После этого запустите приложение и проверьте facebook (или ссылку другого поставщика) - убедитесь, что URL-адрес возврата facebook правильно указан в приложении facebook (на facebook).

Можно изменить страницу main.html и т. Д. По мере необходимости, чтобы убедиться, что вы используете отображение CSS / content / login по мере необходимости.

Если вы используете Groovy-шаблоны, вы можете добавить в HTML-представление следующее, чтобы отображать некоторую информацию о пользователе:

 <h2><img src="${user.avatarUrl}" width="40px" height="40px"/> Welcome    ${user.displayName}</h2>

Надеюсь, это поможет

person ali haider    schedule 10.07.2012
comment
Мне просто нужна авторизация. Я новичок в java and play framework, не могли бы вы посоветовать мне? - person Zoha Ali Khan; 10.07.2012
comment
перейдите на страницу github для обеспечения безопасности (демонстрация java): github.com/ jaliss / securesocial / tree / master / samples / java / demo - просмотрите файл конфигурации (securesocial и application.conf), а также контроллер / service / views для справки. Просмотр демонстрации не займет много времени. - person ali haider; 10.07.2012
comment
Я загрузил его, на самом деле у меня есть игра в каталоге C, а затем мой проект внутри игры. следует ли мне хранить этот модуль в папке модулей моего проекта или в модулях воспроизведения? - person Zoha Ali Khan; 10.07.2012
comment
если вы используете команду play install securesocial-0.2.4 из командной строки, это должно добавить securesocial в каталог модулей (внутри каталога воспроизведения). Затем вы можете добавить безопасную социальную ссылку в файл application.conf (внутри каталога conf вашего проекта) - person ali haider; 10.07.2012
comment
в вашем файле application.conf: require: - play - ›securesocial 0.2.4 - person ali haider; 10.07.2012
comment
Мне нужно добавить какой-то контроллер или нет? Я хочу, чтобы функция facbook отображалась на моей странице входа в систему, которая является localhost: 9000 / login, и когда я нажимаю на нее он должен аутентифицировать меня с помощью facebook, а затем перенаправить меня на localhost: 9000 с авторизованным пользователем - person Zoha Ali Khan; 10.07.2012
comment
Если вы просто скопируете контроллер (в качестве теста) из демонстрационного URL-адреса выше (вместе со службой), используйте файл securesocial.conf (с идентификатором / секретом facebook вашего приложения), вы сможете нажать FB. Иногда могут возникать проблемы с тестированием через localhost (поведение может иногда отличаться между chrome и FF) - если это вызывает какие-либо проблемы, измените файл хоста на своем компьютере (или используйте бесплатную тестовую виртуальную машину в любой облачной службе), чтобы получить вокруг этой проблемы - person ali haider; 10.07.2012
comment
play - ›нужно добавить securesocial 0.2.4 в application.conf или dependencies.yml - person Zoha Ali Khan; 10.07.2012
comment
Ваш последний комментарий просто парил у меня над головой :) - person Zoha Ali Khan; 10.07.2012
comment
в файле depencencies.yml (или включите securesocial.conf в файл application.conf согласно демонстрации). При тестировании с FB вы должны зарегистрировать свое приложение в FB (и взамен получить FB ID / KEY, который находится в файле securesocial.conf). Во время тестирования с FB у вас могут возникнуть проблемы, если вы запускаете свое приложение как localhost, а не IP-адрес (для чего я предложил несколько вариантов в качестве обходных путей). - person ali haider; 10.07.2012
comment
это неправильно, если я поставлю play - ›securesocial 0.2.4 в dependencies.yml и помещу ключ и секрет FB в файл application.conf - person Zoha Ali Khan; 11.07.2012
comment
добавить идентификатор / ключ FB в файл securesocial.conf (в отличие от файла application.conf) - person ali haider; 11.07.2012
comment
но нет файла securesocial.conf в play / modules / socialsecure / conf - person Zoha Ali Khan; 11.07.2012
comment
перейдите по URL-адресу демонстрации: github.com/jaliss/securesocial/tree/master/samples/java/demo и скопируйте их файл securesocial.conf (из каталога conf приложения) - измените / добавьте туда идентификатор / ключ FB . если это не сработает, я могу обновить сообщение другим образцом через несколько часов - person ali haider; 11.07.2012
comment
Не могли бы вы опубликовать подробный ответ в соответствии с моей ситуацией, как я вам ее описал? Я буду вам очень благодарен. - person Zoha Ali Khan; 11.07.2012
comment
Теперь я могу нажать на facebook, как только я предоставлю свои данные для входа в fb. Я перенаправляю меня на localhost: 9000 / * -_- Я хочу, чтобы меня перенаправили на метод контроллера apllication / userindex, как я могу это сделать? - person Zoha Ali Khan; 11.07.2012