Ответ 1
Хорошо, после того, как JohnS сказал мне, что связанное сообщение в блоге не работает, и какое-то время прошло, я переработал свой ответ.
В моем понимании, Apache Shiro не поддерживает (на момент написания этой статьи) OAuth, см. SHIRO-21 и SHIRO-119, а также комментарии к ним.
Существуют две библиотеки, которые упрощают OAuth, Scribe и pac4j.
- Scribe используется GAEShiro, который включает в себя мост между писцом и Сиро.
- Pac4J используется buji-pac4j, который является веб-клиентом нескольких протоколов для Apache Shiro. На связанной странице есть демонстрационная версия с доступной аутентификацией Facebook, см. здесь. Я предлагаю использовать эту демонстрацию как начало.
Пожалуйста, прочитайте Facebook OAuth 2.0 и Аутентификация на стороне сервера). Если вы хотите, чтобы ваш сайт использовал OAuth 2.0, вам нужно следовать руководству по ссылкам.
Существует также упомянутый пост в блоге, и вы также можете использовать Spring безопасность и Spring social, см. Подписание с учетными записями поставщика услуг.