Центральная служба проверки подлинности ( CAS ) представляет собой единый вход протокола для сети . [1] Его цель - разрешить пользователю доступ к нескольким приложениям, предоставляя свои учетные данные (такие как идентификатор пользователя и пароль) только один раз. Он также позволяет веб-приложениям аутентифицировать пользователей, не получая доступа к учетным данным пользователя, таким как пароль. Название CAS также относится к программному пакету , реализующему этот протокол.
Описание [ править ]
Протокол CAS включает как минимум три стороны: клиентский веб-браузер, веб- приложение, запрашивающее аутентификацию, и сервер CAS . Он также может включать внутреннюю службу , такую как сервер базы данных, который не имеет собственного HTTP-интерфейса, но взаимодействует с веб-приложением.
Когда клиент посещает приложение, требующее аутентификации, приложение перенаправляет его в CAS. CAS проверяет подлинность клиента, обычно путем проверки имени пользователя и пароля в базе данных (например, Kerberos , LDAP или Active Directory ).
Если аутентификация прошла успешно, CAS возвращает клиента приложению, передавая билет службы . Затем приложение проверяет билет, связываясь с CAS через безопасное соединение и предоставляя свой собственный идентификатор службы и билет. Затем CAS предоставляет приложению достоверную информацию о том, прошел ли конкретный пользователь успешную аутентификацию.
CAS допускает многоуровневую аутентификацию через прокси-адрес . Взаимодействующая внутренняя служба, такая как база данных или почтовый сервер, может участвовать в CAS, проверяя подлинность пользователей с помощью информации, которую он получает от веб-приложений. Таким образом, клиент веб-почты и сервер веб-почты могут реализовать CAS.
История [ править ]
CAS был задуман и разработан Шоном Байерн из Йельского университета по технологиям и планированию . Позже его поддерживал Дрю Мазурек в Йельском университете. В CAS 1.0 реализован единый вход. CAS 2.0 представил многоуровневую аутентификацию прокси. Несколько других дистрибутивов CAS были разработаны с новыми функциями.
В декабре 2004 года CAS стал проектом группы специальных интересов Java в администрировании (JASIG) , которая с 2008 года отвечает за его поддержку и развитие. Ранее называвшаяся «Yale CAS», CAS теперь также известна как «Jasig CAS». В 2010 году Джасиг начал переговоры с Фондом Сакаи о слиянии двух организаций. Эти две организации были объединены в Apereo Foundation в декабре 2012 года.
В декабре 2006 года Фонд Эндрю Меллона присудил Йельскому университету свою Первую ежегодную премию Меллона за технологическое сотрудничество в размере 50 000 долларов за разработку Йельского университета CAS. [2] На момент вручения этой награды CAS использовалась в «сотнях университетских городков (среди других бенефициаров)».
В апреле 2013 года была выпущена спецификация 3.0 протокола CAS. [3]
Реализация [ править ]
Реализация Apereo CAS [ править ]
Сервер Apereo CAS, который на сегодняшний день является эталонной реализацией протокола CAS, поддерживает следующие функции:
- Протоколы CAS v1, v2 и v3
- Протокол SAML v1 и v2
- Протокол OAuth
- Протокол OpenID и OpenID Connect
- Протокол пассивного запроса WS-Federation
- Аутентификация через JAAS , LDAP , RDBMS, X.509 , Radius, SPNEGO , JWT , Remote, Trusted, BASIC, Apache Shiro , MongoDB , Pac4J и др.
- Делегированная аутентификация в WS-FED, Facebook, Twitter, SAML IdP, OpenID , OpenID Connect , CAS и др.
- Авторизация через ABAC, время / дату, REST, Internet2 Grouper и др.
- Кластерные развертывания высокой доступности через Hazelcast , Ehcache , JPA, Memcached , Apache Ignite , MongoDB, Redis , Couchbase и другие.
- Регистрация приложений поддерживается JSON , LDAP, YAML , JPA, Couchbase, MongoDB и другими.
- Многофакторная аутентификация через Duo Security, SAASPASS, YubiKey , RSA, Google Authenticator ( TOTP ) и др.
- Административные пользовательские интерфейсы для управления ведением журналов, мониторингом, статистикой, конфигурацией, регистрацией клиентов и многим другим.
- Глобальная тема и брендинг пользовательского интерфейса и пользовательского интерфейса для каждого приложения.
- Управление паролями и соблюдение политики паролей.
Реализация Django [ править ]
Сервер Django CAS [ править ]
- django-mama-cas: [4] Сервер единой регистрации Django Central Authentication Service (CAS)
Клиент Django CAS [ править ]
- django-cas-ng: [5] Клиентская библиотека аутентификации Django CAS 1.0 / 2.0 / 3.0, поддерживает Django 2.0, 2.1, 2.2, 3.0 и Python 3.5+!
См. Также [ править ]
- CoSign единый вход
- JOSSO
- Список реализаций единого входа
- OpenAM
- OpenID
- Pubcookie
- SAML
- Продукты и услуги на основе SAML
- Шибболет (Консорциум Шибболет)
Ссылки [ править ]
- ^ "Страница протокола JASIG CAS" . Аперео / ДЖАСИГ . Проверено 24 июня +2016 .
- ^ Пресс-релиз Премии Меллона за сотрудничество в области технологий (PDF) .
- ^ "Спецификация протокола CAS 3.0" . Дата обращения 6 ноября 2020 .
- ^ "Джанго-мама-кас" .
- ^ "django-cas-ng" .
Внешние ссылки [ править ]
- Стэнфордский WebAuth
- CookieAuth Миннесотского университета
- Проект Apereo CAS
- Джанго-мама-кас
- django-cas-ng