Аутентификация пользователя в Facebook с использованием Spring Security

#java #spring #facebook #oauth #spring-security

#java #spring #Facebook #oauth #spring-безопасность

Вопрос:

Я использую Spring Security 3.0.x и я бы хотел, чтобы мои пользователи проходили аутентификацию с использованием OpenID и Facebook. В настоящее время у меня работает OpenID-часть, но я не понимаю, как пользователи могут входить в Facebook. Я читал о OAuth для Spring security, но, насколько я понимаю, он хорош только для доступа к ресурсам. В примерах приложений выполняется аутентификация с использованием имени пользователя и пароля.

Итак, мой вопрос в том, как мне аутентифицировать пользователей в Facebook с использованием Spring security?

Ответ №1:

Spring Security не решает эту проблему (на данный момент). Ознакомьтесь с Spring Social, который предназначен для подключения вашего приложения к Facebook, Twitter и т.д. Также ознакомьтесь с этим сообщением в блоге, где они интегрировали Spring Social и Spring Security.

Комментарии:

1. Не могли бы вы, пожалуйста, обновить неработающую ссылку в блоге, спасибо

Ответ №2:

Я создал новый проект под названием spring-security-social для Facebook, который предоставляет фильтр аутентификации на основе spring-security-oauth. В отличие от spring-security-facebook, он активно поддерживается acoveo software development и построен на новой версии spring-security-oauth.

Комментарии:

1. Эй, это здорово! Одна из проблем с сообщением в блоге в ответе ericacm заключается в том, что Spring Social API изменился, и это был своего рода одноразовый код, поэтому мне пришлось создавать свое решение с нуля.

Ответ №3:

Вы также можете использовать https://github.com/pac4j/spring-security-pac4j который поддерживает OAuth (Facebook, Twitter, Google …), CAS, SAML, OpenID (Connect) и GAE. Смотрите демонстрацию:https://github.com/pac4j/spring-security-pac4j-demo

Комментарии:

1. есть ли где-нибудь пример конфигурации spring security java? Я нашел это, но я не думаю, что это настроено правильно github.com/pawelantczak/spring-security-oauth/blob/master/src/… . ClientAuthenticationEntryPoint никогда не используются в конфигурации.

2. Я не знал об этом примере, но он выглядит хорошо. В противном случае в README был этот пример: github.com/pac4j/spring-security-pac4j/tree /…