Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 15 additions & 0 deletions CHANGELOG.rst
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,21 @@ All notable changes to this project will be documented in this file.
.. contents:: Table of Contents
:depth: 2

v3.1.0 - 2025-05-18
===================

Fix
---

* Django version requirement in setup.py
* Add python 3.12 and 3.13 classifier to setup.py

Changed
-------

* Update URL in doc and default settings (css and js CDN urls)


v3.0.0 - 2025-04-21
===================

Expand Down
35 changes: 16 additions & 19 deletions README.rst
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
CAS Server
##########

|travis| |coverage| |licence| |github_version| |pypi_version| |codacy| |doc|
|gh_action| |coverage| |licence| |github_version| |pypi_version| |doc|

CAS Server is a Django application implementing the `CAS Protocol 3.0 Specification
<https://apereo.github.io/cas/4.2.x/protocol/CAS-Protocol-Specification.html>`_.
<https://apereo.github.io/cas/7.0.x/protocol/CAS-Protocol-Specification.html>`_.

By default, the authentication process uses django internal users but you can easily
use any source (see the `Authentication backend`_ section and auth classes in the auth.py file)
Expand Down Expand Up @@ -89,7 +89,7 @@ The recommended installation mode is to use a virtualenv with ``--system-site-pa

$ virtualenv -p python3 --system-site-packages cas_venv

4. And `activate it <https://virtualenv.pypa.io/en/stable/userguide/#activate-script>`__::
4. And `activate it <https://virtualenv.pypa.io/en/latest/user_guide.html>`__::

$ cd cas_venv/; . bin/activate

Expand All @@ -110,7 +110,7 @@ The recommended installation mode is to use a virtualenv with ``--system-site-pa

Then, either run ``make install`` to create a python package using the sources of the repository
and install it with pip, or place the ``cas_server`` directory into your
`PYTHONPATH <https://docs.python.org/2/using/cmdline.html#envvar-PYTHONPATH>`_
`PYTHONPATH <https://docs.python.org/3/using/cmdline.html#envvar-PYTHONPATH>`_
(for instance by symlinking ``cas_server`` to the root of your django project).

7. Open ``cas_project/settings.py`` in your favourite editor and follow the quick start section.
Expand Down Expand Up @@ -198,13 +198,13 @@ Template settings
The default is::

{
"bootstrap3_css": "//maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css",
"bootstrap3_js": "//maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js",
"html5shiv": "//oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js",
"respond": "//oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js",
"bootstrap4_css": "//stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css",
"bootstrap4_js": "//stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js",
"jquery": "//code.jquery.com/jquery.min.js",
"bootstrap3_css": "https://cdn.jsdelivr.net/npm/bootstrap@3.4.1/dist/css/bootstrap.min.css",
"bootstrap3_js": "https://cdn.jsdelivr.net/npm/bootstrap@3.4.1/dist/js/bootstrap.min.js",
"html5shiv": "https://cdn.jsdelivr.net/npm/html5shiv@3.7.3/dist/html5shiv.min.js",
"respond": "https://cdn.jsdelivr.net/npm/respond.js@1.4.2/dest/respond.min.js",
"bootstrap4_css": "https://cdn.jsdelivr.net/npm/bootstrap@4.6.2/dist/css/bootstrap.min.css",
"bootstrap4_js": "https://cdn.jsdelivr.net/npm/bootstrap@4.6.2/dist/js/bootstrap.bundle.min.js",
"jquery": "https://code.jquery.com/jquery.min.js",
}

if you omit some keys of the dictionary, the default value for these keys is used.
Expand Down Expand Up @@ -387,7 +387,7 @@ Only useful if you are using the mysql authentication backend:

* ``"crypt"`` (see <https://en.wikipedia.org/wiki/Crypt_(C)>), the password in the database
should begin with $. This method is deprecated and will stop to work in python 3.13.
* ``"ldap"`` (see https://tools.ietf.org/id/draft-stroeder-hashed-userpassword-values-01.html)
* ``"ldap"`` (see https://datatracker.ietf.org/doc/html/draft-stroeder-hashed-userpassword-values)
the password in the database must begin with one of {MD5}, {SMD5}, {SHA}, {SSHA}, {SHA256},
{SSHA256}, {SHA384}, {SSHA384}, {SHA512}, {SSHA512}, {CRYPT}. {CRYPT} is deprecated
and will stop to work in python 3.13.
Expand Down Expand Up @@ -675,8 +675,8 @@ You could for example do as below::



.. |travis| image:: https://badges.genua.fr/travis/com/nitmir/django-cas-server/master.svg
:target: https://travis-ci.com/nitmir/django-cas-server
.. |gh_action| image:: https://badges.genua.fr/github/actions/workflow/status/nitmir/django-cas-server/github-actions.yml?branch=master
:target: https://github.com/nitmir/django-cas-server/actions/workflows/github-actions.yml?query=branch%3Amaster

.. |pypi_version| image:: https://badges.genua.fr/pypi/v/django-cas-server.svg
:target: https://pypi.org/project/django-cas-server/
Expand All @@ -687,11 +687,8 @@ You could for example do as below::
.. |licence| image:: https://badges.genua.fr/pypi/l/django-cas-server.svg
:target: https://www.gnu.org/licenses/gpl-3.0.html

.. |codacy| image:: https://badges.genua.fr/codacy/grade/255c21623d6946ef8802fa7995b61366/master.svg
:target: https://www.codacy.com/app/valentin-samir/django-cas-server

.. |coverage| image:: https://intranet.genua.fr/coverage/badge/django-cas-server/master.svg
.. |coverage| image:: https://badges.genua.fr/coverage/badge/django-cas-server/master.svg
:target: https://badges.genua.fr/coverage/django-cas-server/master

.. |doc| image:: https://badges.genua.fr/local/readthedocs/?version=latest
:target: http://django-cas-server.readthedocs.io
:target: https://django-cas-server.readthedocs.io
2 changes: 1 addition & 1 deletion cas_server/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
django = None

#: version of the application
VERSION = '3.0.0'
VERSION = '3.1.0'

if django is None or django.VERSION < (3, 2):
#: path the the application configuration class
Expand Down
2 changes: 1 addition & 1 deletion cas_server/cas.py
Original file line number Diff line number Diff line change
Expand Up @@ -369,7 +369,7 @@ def fetch_saml_validation(self, ticket):
@classmethod
def get_saml_assertion(cls, ticket):
"""
http://www.jasig.org/cas/protocol#samlvalidate-cas-3.0
https://apereo.github.io/cas/7.0.x/protocol/CAS-Protocol-Specification.html#42-samlvalidate-cas-30

SAML request values:

Expand Down
14 changes: 7 additions & 7 deletions cas_server/default_settings.py
Original file line number Diff line number Diff line change
Expand Up @@ -40,13 +40,13 @@
CAS_SHOW_POWERED = True
#: URLs to css and javascript external components.
CAS_COMPONENT_URLS = {
"bootstrap3_css": "//maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css",
"bootstrap3_js": "//maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js",
"html5shiv": "//oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js",
"respond": "//oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js",
"bootstrap4_css": "//stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css",
"bootstrap4_js": "//stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js",
"jquery": "//code.jquery.com/jquery.min.js",
"bootstrap3_css": "https://cdn.jsdelivr.net/npm/bootstrap@3.4.1/dist/css/bootstrap.min.css",
"bootstrap3_js": "https://cdn.jsdelivr.net/npm/bootstrap@3.4.1/dist/js/bootstrap.min.js",
"html5shiv": "https://cdn.jsdelivr.net/npm/html5shiv@3.7.3/dist/html5shiv.min.js",
"respond": "https://cdn.jsdelivr.net/npm/respond.js@1.4.2/dest/respond.min.js",
"bootstrap4_css": "https://cdn.jsdelivr.net/npm/bootstrap@4.6.2/dist/css/bootstrap.min.css",
"bootstrap4_js": "https://cdn.jsdelivr.net/npm/bootstrap@4.6.2/dist/js/bootstrap.bundle.min.js",
"jquery": "https://code.jquery.com/jquery.min.js",
}
#: Path to the template showed on /login then the user is not autenticated.
CAS_LOGIN_TEMPLATE = 'cas_server/bs4/login.html'
Expand Down
2 changes: 1 addition & 1 deletion cas_server/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -437,7 +437,7 @@ def crypt_salt_is_valid(salt):
class LdapHashUserPassword(object):
"""
Class to deal with hashed password as defined at
https://tools.ietf.org/id/draft-stroeder-hashed-userpassword-values-01.html
https://datatracker.ietf.org/doc/html/draft-stroeder-hashed-userpassword-values
"""

#: valide schemes that require a salt
Expand Down
4 changes: 3 additions & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,8 @@
'Programming Language :: Python :: 3.9',
'Programming Language :: Python :: 3.10',
'Programming Language :: Python :: 3.11',
'Programming Language :: Python :: 3.12',
'Programming Language :: Python :: 3.13',
'Topic :: Software Development :: Libraries :: Python Modules',
'Topic :: Internet :: WWW/HTTP',
'Topic :: Internet :: WWW/HTTP :: Dynamic Content',
Expand All @@ -62,7 +64,7 @@
},
keywords=['django', 'cas', 'cas3', 'server', 'sso', 'single sign-on', 'authentication', 'auth'],
install_requires=[
'Django >= 1.11,<4.3', 'requests >= 2.4', 'requests_futures >= 0.9.5',
'Django >= 1.11,<5.3', 'requests >= 2.4', 'requests_futures >= 0.9.5',
'lxml >= 3.4'
],
url="https://github.com/nitmir/django-cas-server",
Expand Down