Введение

Протокол единого входа

Центральная служба аутентификации (CAS) — это протокол единого входа для веб-приложений. Его задача — позволить пользователю получать доступ к множеству приложений, вводя свои учетные данные (например, идентификатор пользователя и пароль) только один раз. Он также позволяет веб-приложениям аутентифицировать пользователей, не получая доступ к их конфиденциальным данным, таким как пароль. Название 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 году Jasig начал переговоры с Фондом Sakai о слиянии двух организаций. Обе организации были объединены в Фонд Apereo в декабре 2012 года. В декабре 2006 года Фонд Эндрю В. Меллона присудил Йельскому университету первую ежегодную премию Меллона за технологическое сотрудничество в размере 50 000 долларов США за разработку CAS. На момент присуждения премии CAS использовался в "сотнях университетских кампусов (и другими организациями)". В апреле 2013 года была выпущена спецификация протокола CAS 3.0.

Клиент Django CAS

django cas ng: библиотека клиентской аутентификации Django CAS 1.0/2.0/3.0, поддержка Django 2.0, 2.1, 2.2, 3.0 и Python 3.5+.