Вы совершенно правы. Насколько я знаю, не существует «универсального» пакета, реализующего эти потоки. Некоторое время назад я много искал такой код и ничего не нашел. Я думаю, что @luizcarlosfx прав, что у каждого приложения есть свои потребности, поэтому сложно написать что-то универсальное, подходящее для всех нужд.
EDIT: я видел комментарии типа "Это не так сложно реализовать". Истинный. Но вы должны убедиться, что вы заботитесь обо всех случаях. Например, что произойдет, если пользователь попытается создать уже существующую учетную запись? что произойдет, если пользователь попытается создать учетную запись, которая уже существует, но неактивна? как насчет политики пароля? (слишком длинный/слишком короткий/сколько заглавных букв и т. д.) как насчет отправки пользователю электронного письма со ссылкой для активации? как вы создаете эту ссылку? как вы его шифруете? как насчет контроллера, который получит клик по ссылке и активирует учетную запись? и все больше и больше...
Однако я сделал шаг вперед и попытался написать что-то, что будет отвечать большинству потоков — регистрация, забытый пароль, смена пароля и т. д., и что-то, что будет достаточно защищено, чтобы приложения могли использовать его без опасения, что его легко взломают.
Для этого варианта использования я реализовал проект JAVA. Это открытый исходный код, основанный на Spring-Security. Версия выпуска находится на Maven-Central, поэтому вам не нужно ее компилировать, но вместо этого вы можете получить ее как зависимость от maven для своего проекта!
<dependency>
<groupId>com.ohadr</groupId>
<artifactId>authentication-flows</artifactId>
<version>1.5.0-RELEASE</version>
</dependency>
Я думаю, что это ответ на ваш вопрос...
Ко всему есть объяснения (а если чего-то не хватает - дайте знать...)
Вы можете найти здесь пример кода клиентского приложения (т. е. использования).
Это главная страница проекта плюс демо и другая демонстрация здесь (но это приложение, которое после обновления до версии 1.6.1 требует входа в систему с адресом электронной почты с "хорошим" доменом - nice.com, поэтому вы не можете использовать его для демонстрации; используйте первый пример). Это клиентское веб-приложение, использующее потоки авторизации, с README со всеми пояснениями.
Надеюсь, это поможет!
person
OhadR
schedule
09.05.2014