Я создаю приложение JSP, и я хотел бы использовать Facebook Connect в качестве одного из путей для регистрации и аутентификации пользователей, но я не нахожу много информации о том, как получить и проанализировать файл cookie FB или даже нужный поток. Я пытаюсь объединить информацию, найденную в официальной документации , с пошаговым руководством, например , это , но для Java. Я не против того, чтобы полагаться на такие библиотеки, как Social Java , но понимание шагов было бы полезно. Вот три варианта использования, которые я пытаюсь удовлетворить.
- Неаутентифицированный / незарегистрированный пользователь на моем сайте нажимает кнопку «Facebook Connect», чтобы зарегистрироваться (получить электронную почту, имя и идентификатор профиля) и войти в систему.
- Пользователь, не прошедший проверку подлинности, нажимает кнопку «Facebook Connect», чтобы создать действительный сеанс в моем домене.
- Аутентифицированный и зарегистрированный пользователь без подключенного профиля Facebook нажимает на «Facebook Connect» и связывает идентификатор профиля Facebook (и возможность обновить свою электронную почту и имя) с существующим профилем.
Для этого проекта у меня есть класс Profile, который выглядит следующим образом (я использую отличный Project Lombok с Hibernate)
@Entity
@Data
public class Profile implements java.io.Serializable {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private long id;
private String username;
private String password;
private String displayName;
private String email;
private String zipCode;
private String mobileNumber;
private String facebookId;
@Type(type = "org.jadira.usertype.dateandtime.joda.PersistentDateTime")
private DateTime dateCreated;
private int status;
private int level;
}
Статус и уровень действительно должны быть перечислениями, но я пытаюсь сохранить крошечный код для этого вопроса.
Отказ от ответственности: Я читал много блогов о том, как настроить Facebook Connect для регистрации и аутентификации пользователей, но они по большей части основаны на PHP и более старых версиях API Facebook (даже некоторые вопросы SO указывают на старые вики в их принятых ответах). Это похоже на идеальное применение SO сообщества.