Which CAS implementation to use in django?
I've been using an older version of django-cas for a long time now, and it works as expected. I've never used django-cas-consumer, but I've looked into it.
Comparing the code between the two projects, it looks like django-cas-consumer is a stripped-down version of django-cas.
The two most glaring differences are:
- django-cas-consumer only supports CAS version 1
- django-cas has middleware that captures any requests to the django.contrib.auth.views.login and logout and redirects them to the CAS login and logout views
Also, if you are using Apache, you can consider using mod_auth_cas, which is an official CAS client. Then you can simply use django's remote user authentication.
Low activity does not necessarily mean that product is not good enough. It might be the case that the product has reached a stable state. Probably, you should confirm it with the developer. Personally, I would go for a stable system over one which shows lot of activity (especially if the activity is bug-fixing )
If someone still interesting CAS on django. Please try the most latest and active maintained version of django cas: django-cas-ng:
pip install django-cas-ng
django-cas-ng is CAS (Central Authentication Service) client implementation. This project inherit from django-cas. django-cas is not updated since 2013-4-1. This project will include new bugfix and new feature development. It have more features:
- Supports CAS_ versions 1.0, 2.0 and 3.0.
- Support Single Sign Out
- Supports Token auth schemes
- Can fetch Proxy Granting Ticket
- Supports Django 2.0, 2.1, 2.2 and 3.0
- Supports using a User custom model
- Supports Python 3.5+
see document at https://djangocas.dev/docs/
Django-cas was missing features we needed, so we rolled our own: http://github.com/KTHse/django-cas2