Библиотека для интеграции входа в Facebook с Play Framework?
-
28-09-2019 - |
Вопрос
Я учусь с использованием Play Framework и делать демонстрационное приложение для этого.
Для этого приложения я хочу также интегрировать с API Facebook, позволяя пользователям регистрировать использование идентификаторов Facebook. Зная, что Play - это рамки без гражданства, а также так, как она работает, рекомендуется какая-то библиотека или модуль?
Я не смог найти ни одного, но я спрашиваю только на всякий случай.
Решение
Restfb. мой первый выбор.
То Facebook Java API. также должен сделать.
Другие советы
Последняя игра! Framework v1.2.2 содержит образец с протоколом Facebook OAUTT2.
Вот контроллер приложений с аутентификацией OAUTT2:
import models.User;
import play.Logger;
import play.libs.OAuth2;
import play.libs.WS;
import play.mvc.Before;
import play.mvc.Controller;
import com.google.gson.JsonObject;
public class Application extends Controller {
// The following keys correspond to a test application
// registered on Facebook, and associated with the loisant.org domain.
// You need to bind loisant.org to your machine with /etc/hosts to
// test the application locally.
public static OAuth2 FACEBOOK = new OAuth2(
"https://graph.facebook.com/oauth/authorize",
"https://graph.facebook.com/oauth/access_token",
"95341411595",
"8eff1b488da7fe3426f9ecaf8de1ba54"
);
public static void index() {
User u = connected();
JsonObject me = null;
if (u != null && u.access_token != null) {
me = WS.url("https://graph.facebook.com/me?access_token=%s", WS.encode(u.access_token)).get().getJson().getAsJsonObject();
}
render(me);
}
public static void auth() {
if (OAuth2.isCodeResponse()) {
User u = connected();
OAuth2.Response response = FACEBOOK.retrieveAccessToken(authURL());
u.access_token = response.accessToken;
u.save();
index();
}
FACEBOOK.retrieveVerificationCode(authURL());
}
@Before
static void setuser() {
User user = null;
if (session.contains("uid")) {
Logger.info("existing user: " + session.get("uid"));
user = User.get(Long.parseLong(session.get("uid")));
}
if (user == null) {
user = User.createNew();
session.put("uid", user.uid);
}
renderArgs.put("user", user);
}
static String authURL() {
return play.mvc.Router.getFullUrl("Application.auth");
}
static User connected() {
return (User)renderArgs.get("user");
}
}
Наслаждаться!
Есть также сейчас fbconnect Модуль перечислена на площадке игры.
Вы также можете проверить http://code.google.com/p/socialauth/. Отказ Выглядит многообещающе.