Implementation of the classic login password login can be used as a model
authentic2/auth2_auth/backend.py. The reference specification at address http://www.jasig.org/cas/protocol gives details. It should support multiple CAS providers. For each provider a domain name can be specified (to differentiate homonyms).
A special Django authentication backend1 must also be implemented as there won't be any password to authenticate; this special backend will receive a username and eventually a domain and log the given user in. The key for the username should not be username which is already used by classical login/password backends. Link with real users could be done solely on the username or using a link table (linking existing users to users from the CAS provider).
Extraction of user attributes from CAS tickets is also linked to this ticket .
: http://jasig.275507.n4.nabble.com/CAS-attributes-and-how-they-appear-in-the-CAS-response-td264272.html and https://issues.jasig.org/browse/CAS-655