CAS Бесплатное решение SSO
Многоязычное программное обеспечение для аутентификации с управлением журналами
Служба центральной аутентификации - это инструмент SSO с открытым исходным кодом, который предоставляет функции аутентификации и авторизации с использованием протоколов OpenID, OAuth и SAML.
Обзор
Веб -приложения быстро растут, и предприятия, как правило, предназначены для нескольких областей с намерениями предоставлять услуги и инструменты. Существует огромное количество пользователей, увеличивающихся с днем, и безопасность данных и управление данными становятся основными проблемами для предприятий. Тем не менее, сообщество с открытым исходным кодом предоставило много решений для переворота этих проблем, и один из них является одним из них. CAS является бесплатным и открытым исходным одним знаком в системе и использует CAS протокол на основе билетов, который создан исключительно для обеспечения аутентификации и авторизации пользователя. Архитектура этого протокола основана на сотрудничестве с клиентом и сервером. CAS Server аутентифицирует пользователей и предоставляет доступ к приложениям. Принимая во внимание, что клиент этого единственного знака по технологии заботится о получении информации пользователей, предоставленных сервером CAS. Это программное обеспечение с открытым исходным кодом не только поддерживает свой собственный протокол CAS, но и поддерживает OpenID, OAuth, OpenID Connect, REST, WSFEDERATER и SAML -протоколы. CAS имеет полную экосистему для интеграции с третьими лицами, которая поддерживает высокие уровни доверия, используя пары публичных/частных ключей. CAS в основном написан на Java и предоставляет комплексную документацию относительно развертывания и разработки. Существует сильное сообщество, поддерживающее этот единственный знак на программном обеспечении.
Функции
- Протокол OAuth v2
- Протокол Connect OpenID и OpenID
- Управление паролем
- Различные варианты развертывания
- Многофакторная аутентификация
- Многоязычный
- Вход / подпись
- Многие механизмы аутентификации (например, JAAS, LDAP, RDBMS)
- Протокол пассивного запрашивателя WS-федерации
- Легко настроить
- Интеграции с третьими лицами
- Много механизмов разрешения (например, ABAC, время/дата, отдых)
- UI для управления журналами
- Пользовательский интерфейс для управления мониторингом и статистикой
- Делегированная аутентификация в Facebook, Twitter и многое другое
Монтаж
Запустите следующую команду, чтобы клонировать репо:
git clone git@github.com:apereo/cas.git cas-server
После успешного клона запустите следующую команду:
cd cas-server
git checkout master
Теперь создайте кодовую базу с помощью следующей команды:
./gradlew build install --parallel -x test -x javadoc -x check
Вы можете использовать -x
, чтобы полностью пропустить/игнорировать фазу в сборке. (т.е. -x test
, -x check
).
Если вам не нужно позволять Gradle Resoluty/Updure зависимости и новыми версиями модуля для вас, вы можете воспользоваться флагом -Offline 'при строительстве, который имеет тенденцию делать сборку намного быстрее. Использование Демона Gradle также является большой помощью. Это должно быть включено по умолчанию. Включение кеша сборки Gradle через
-build-cache ‘также может значительно улучшить время сборки.
Если вы используете Windows, вы можете найти -skipnpmlint = true Для настройки SSL файл
thekeystoreдолжен включать в себя частные/публичные ключи SSL, которые выпускаются для вашего домена сервера CAS. Вам нужно будет использовать команду jdk
keytool` для создания хранилища ключей и сертификата. Следующие команды могут служить примером:
keytool -genkey -alias cas -keyalg RSA -validity 999 -keystore /etc/cas/thekeystore -ext san=dns:$REPLACE_WITH_FULL_MACHINE_NAME
В вашем файле /etc/hosts
(в Windows: c: \ Windows \ System32 \ Drivers \ etc \ hosts
) вам также может потребоваться добавить следующую запись:
127.0.0.1 mymachine.domain.edu
Сертификат, экспортированный из вашего хранилища ключей, также должен быть импортирован в глобальный магазин ключей Java Platform:
keytool -export -file /etc/cas/config/cas.crt -keystore /etc/cas/thekeystore -alias cas
sudo keytool -import -file /etc/cas/config/cas.crt -alias cas -keystore $JAVA_HOME/jre/lib/security/cacerts
где java_home
, где у вас установлен JDK (т.е./библиотека/java/javavirtualmachines/jdk [version] .jdk/contents/home`).
Выполнить следующие команды для развертывания:
cd webapp/cas-server-webapp-tomcat
../../gradlew build bootRun --parallel --offline --configure-on-demand --build-cache --stacktrace
По умолчанию CAS будет доступен по адресу [httpsmymachenedomainedu8443cas] (https://href.li/?https://mymachine.domain.edu:8443/cas)
работает в Docker
Для Docker изображение Docker находится по адресу [Docker Hub] (https://href.li/?https://hub.docker.com/r/apereo/cas/). Запустите следующую команду, чтобы снять изображение Docker:
docker pull apereo/cas:v[A.B.C]
где [a.b.c]
представляет тег изображения, отображенный с версией сервера CAS.
Исследовать
Вы можете найти следующие ссылки актуальными:
Все, что вам нужно знать о двойной аутентификации 2FA
Как использовать систему SSO для лучшего роста бизнеса
5 лучших программного обеспечения с открытым исходным кодом в 2021 году.