Commit graph

339 commits

Author SHA1 Message Date
Valentin Samir
d053003344 Add test for ldap check password with bad base64 hash 2016-08-01 18:33:58 +02:00
Valentin Samir
d25f738b03 Add unit test for utils.dictfetchall 2016-08-01 18:29:05 +02:00
Valentin Samir
c6583c925e Support authentication renewal in federate mode 2016-08-01 17:36:33 +02:00
Valentin Samir
ed3e382ef1 [cas.py] Append renew=true when validating tickets 2016-08-01 17:01:11 +02:00
Valentin Samir
2a1c90965c Add a checkbox to forget the identity provider if we checked "remember the identity provider" 2016-08-01 12:01:53 +02:00
Valentin Samir
0237364d8e Only set "remember my provider" in federated mode upon successful authentication 2016-08-01 11:34:49 +02:00
Valentin Samir
13c7359294 Remember warn using a cookie 2016-08-01 02:07:50 +02:00
Valentin Samir
aae3a0186e Factorize froms.py 2016-07-31 20:30:27 +02:00
Valentin Samir
2298b94f78 Add SqlAuthUser and LdapAuthUser auth classes. Deprecate the usage of SqlAuthUser in favor of SqlAuthUser.
SqlAuthUser use django databases management, and thus is compatible with all SQL databases supported
by django: postgresql, mysql, sqlite3 and oracle.

LdapAuthUser use the full pythonic ldap3 module
2016-07-31 17:09:27 +02:00
Valentin Samir
f0922e0300 Add secret as sensitive variables/post parameter for /auth 2016-07-31 12:28:10 +02:00
Valentin Samir
4721eb4f81 Catch base64 decode error on b64decode to raise our custom exception BadHash 2016-07-31 12:27:14 +02:00
Valentin Samir
fbc977c6bd Fix inversion between two gettext string 2016-07-30 19:20:52 +02:00
Valentin Samir
b45f8df09e Remove english "translation" and use full english text in the sources. Update french translation. 2016-07-30 01:34:43 +02:00
Valentin Samir
3d0f2496dd Put favicon (shortcut icon) URL in settings 2016-07-30 00:46:57 +02:00
Valentin Samir
34118833bf Display an error message on bad response from identity provider in federate mode. fix #7.
If the identity provider CAS do not return an XML document as specified on ticket validation,
an XML parsing error is raised. We now catch it and display a message to the user.
2016-07-29 16:35:21 +02:00
Valentin Samir
2cc31ce5f5 [cas.py] factor the charset detection in a function 2016-07-29 16:34:39 +02:00
Valentin Samir
570676f5b0 fix some codacy errors 2016-07-29 15:18:10 +02:00
Valentin Samir
3063cf116b few flake8 and python3 problems corrected 2016-07-29 14:55:52 +02:00
Valentin Samir
b6cffcf482 Add new version email and info box then new version is available 2016-07-29 14:33:39 +02:00
Valentin Samir
6eea76d984 Add pytest-warning to tests and correct some warnings, complete coverage (essentially branch) 2016-07-29 13:58:32 +02:00
Valentin Samir
d3b4e23027 Keep LoginTicket list upon fail authentication
It prevent the next login attemps to fail because of bad LT
2016-07-24 22:57:34 +02:00
Valentin Samir
3ff4bb16a9 Drop dependancies django-picklefield and django-bootstrap3 2016-07-24 10:51:29 +02:00
Valentin Samir
ff9566289d Add missing docstrings 2016-07-23 19:12:44 +02:00
Valentin Samir
018a5951a2 Update urlpattern for django 1.10 2016-07-23 18:47:52 +02:00
Valentin Samir
9bae371199 Add serviceValidate ProxyTicket tests 2016-07-23 18:47:32 +02:00
Valentin Samir
232aafcace Factorize some code 2016-07-23 18:45:31 +02:00
Valentin Samir
4127af0db1 Update doc 2016-07-23 18:42:31 +02:00
Valentin Samir
d812257daa Exclude a should not happen branche from coverage in auth.TestAuthUser.attributs 2016-07-20 18:56:01 +02:00
Valentin Samir
8a4a4a833f Codacy warning about constant names 2016-07-20 18:46:33 +02:00
Valentin Samir
004e76f29e Remove tests unused variable 2016-07-20 18:41:52 +02:00
Valentin Samir
66b9daff68 Update default_settings.py for python3
In python 3 dict.items do not return a copied list so we force a copy
to avoid changing the global dict while iterating over it
2016-07-20 18:40:46 +02:00
Valentin Samir
c8a22f6c92 Remove tests unused variable 2016-07-20 18:30:36 +02:00
Valentin Samir
25f305b538 Reformat default_settings.py for documentation using sphinx autodoc 2016-07-20 18:30:17 +02:00
Valentin Samir
8caf9156aa Rename the unicode methode of ReturnUnicode in cas.py to prevent clash in spnhinx autodoc with unicode type 2016-07-20 18:29:34 +02:00
Valentin Samir
cec0cadb7a Add some docs using sphinx autodoc 2016-07-20 18:29:00 +02:00
Valentin Samir
6dc52e0ca5 Update some help_text dans docstrings 2016-07-06 19:43:09 +02:00
Valentin Samir
4ad4d13baa Compact federated mode migration 2016-07-06 14:44:15 +02:00
Valentin Samir
4df2991079 Fix migration error for pgsql: column "provider_id" cannot be cast automatically to type integer 2016-07-06 13:50:02 +02:00
Valentin Samir
502135d6ca Fix bug: the renewing authentication, it is ok for the service to not require renew 2016-07-06 13:16:31 +02:00
Valentin Samir
abf0200f87 Add a test case related to 6b3b280d31 2016-07-05 13:09:52 +02:00
Valentin Samir
6b3b280d31 Add some logging and only permit backend CAS auth if the user is not already authenticated 2016-07-04 22:54:15 +02:00
Valentin Samir
624f2f48ed Add a docstring to admin.py 2016-07-04 20:02:00 +02:00
Valentin Samir
b0a07efe41 Add a display field to Identity Providers 2016-07-04 17:40:31 +02:00
Valentin Samir
aa433d3c58 Use django admin application to add/modif identty providers when CAS_FEDERATE is True 2016-07-04 17:23:11 +02:00
Valentin Samir
646cdba6aa Do not display messages if auto_submit is True and javascript is enabled 2016-07-03 18:12:02 +02:00
Valentin Samir
9909699012 Update sime legal headers 2016-07-03 18:11:48 +02:00
Valentin Samir
8e5b75e090 Add some docstrings 2016-07-03 17:54:11 +02:00
Valentin Samir
7cc3ba689f Correct some code style errors and remove some forgotten debug lines 2016-07-03 14:19:39 +02:00
Valentin Samir
90daf3d2a0 Add unit tests for when CAS_FEDERATE is True
Also fix some unicode related bugs
2016-07-03 13:53:12 +02:00
Valentin Samir
fcd906ca78 Tweak the cas client lib to always return unicode
hence, the behaviour is consistent between python2 and python3
2016-07-03 13:49:31 +02:00
Valentin Samir
63f5b2cabf Merge branch 'master' into federate 2016-07-01 16:44:22 +02:00
Valentin Samir
95511943e8 Add a utils function to test crypt salts 2016-07-01 01:21:57 +02:00
Valentin Samir
a5ed74ee56 SOme python3 compatibility 2016-07-01 00:09:51 +02:00
Valentin Samir
219171fe41 Set legals headers 2016-07-01 00:02:46 +02:00
Valentin Samir
7cbbab444f Full utils coverage 2016-07-01 00:00:33 +02:00
Valentin Samir
c7c5151acf Tests comments and move http server handlers from cas_server.utils to cas_server.tests.utils 2016-06-30 23:13:53 +02:00
Valentin Samir
3ada10b3c5 Add tests comment and enable ajax login in ajax tests 2016-06-30 19:01:56 +02:00
Valentin Samir
2515c3a15d Disabling ajax login by default 2016-06-30 18:57:53 +02:00
Valentin Samir
638363c6f9 Pip6 cache system and codacy issues 2016-06-30 14:52:55 +02:00
Valentin Samir
ecf4e66e11 Models full coverage 2016-06-30 13:56:51 +02:00
Valentin Samir
2fba4183a3 Codacy issues 2016-06-29 20:59:31 +02:00
Valentin Samir
3334f87601 SingleLogOut unit tests 2016-06-29 20:51:58 +02:00
Valentin Samir
d4b9d66051 Cleaner BaseHTTPRequestHandler 2016-06-29 20:51:30 +02:00
Valentin Samir
e5efdadde0 Full coverage for saml + split tests 2016-06-29 17:10:41 +02:00
Valentin Samir
abda112467 Begin to split tests, Makefile less phony, use py.test 2016-06-29 08:22:52 +02:00
Valentin Samir
33f53f1d25 Add docstrings to management commands 2016-06-29 00:28:59 +02:00
Valentin Samir
6972ad7536 Add some docstrings and comments 2016-06-29 00:25:09 +02:00
Valentin Samir
3e53429feb Forgotten test for proxy view 2016-06-29 00:09:11 +02:00
Valentin Samir
8edf896fa5 Remove some duplicate from tests code, full coverage for prowy view 2016-06-29 00:01:51 +02:00
Valentin Samir
97a15f749c Use override_settings in tests 2016-06-28 19:27:03 +02:00
Valentin Samir
44acd005ee Full coverage for view validateService 2016-06-28 18:58:39 +02:00
Valentin Samir
6d610d5aa6 Full coverage for validate view 2016-06-28 17:46:59 +02:00
Valentin Samir
87a877b91c Full coverage auth view 2016-06-28 17:19:48 +02:00
Valentin Samir
327a47566f Full coverage of logout view 2016-06-28 16:41:27 +02:00
Valentin Samir
166590f264 Full coverage for the login view 2016-06-28 15:59:40 +02:00
Valentin Samir
a4d70d3046 Merge branch 'dev' into federate 2016-06-28 15:29:45 +02:00
Valentin Samir
16fb7b5021 Fix renew request from service 2016-06-28 15:24:50 +02:00
Valentin Samir
434dcf6e4e Correct some codacy errors 2016-06-28 00:48:48 +02:00
Valentin Samir
dedc1e34a2 Fix some style error introduced during the merge 2016-06-28 00:37:18 +02:00
Valentin Samir
32b5627c38 Merge branch 'dev' into federate 2016-06-28 00:34:31 +02:00
Valentin Samir
fc57288c30 Fix some python3 compat and change in test client behaviour in django 1.9 2016-06-28 00:10:36 +02:00
Valentin Samir
bab79c4de5 More unit tests (essentially for the login view) and some docstrings 2016-06-27 23:55:17 +02:00
Valentin Samir
7db3157864 Forgotten return 2016-06-27 14:01:39 +02:00
Valentin Samir
93c2dae96b Add docstrings 2016-06-26 22:07:38 +02:00
Valentin Samir
2fac47f0b1 Add unit test for the utils function check_password 2016-06-26 21:44:41 +02:00
Valentin Samir
ac206d56d6 Add some password check methods to the MySQL auth backend 2016-06-26 20:29:47 +02:00
Valentin Samir
02a566c129 Use constant only caps for constants 2016-06-26 16:13:09 +02:00
Valentin Samir
164e2f5c28 style 2016-06-26 16:02:25 +02:00
Valentin Samir
8303f816df Exclude non test auth from coverage 2016-06-26 15:34:26 +02:00
Valentin Samir
ac5f359063 style 2016-06-26 11:26:19 +02:00
Valentin Samir
3e80a018dd Css style 2016-06-26 11:04:05 +02:00
Valentin Samir
bf7da7e805 More descriptive name for default_app_config 2016-06-26 11:02:57 +02:00
Valentin Samir
03cbab37f4 Javascript style 2016-06-26 11:01:37 +02:00
Valentin Samir
4bb886f083 python3 compatibility 2016-06-24 23:37:24 +02:00
Valentin Samir
0776e371e8 style 2016-06-24 21:23:33 +02:00
Valentin Samir
12201665de Add some dango unit tests 2016-06-24 21:07:19 +02:00
Valentin Samir
5cb25de99f Put test username, password, attributes in settings 2016-06-24 21:06:36 +02:00
Valentin Samir
a0ab47a4ae Allow pgtUrl to be localhost without https 2016-06-24 21:05:43 +02:00
Valentin Samir
6d7300fe43 Add SLO support from federated CAS 2016-06-23 17:18:53 +02:00
Valentin Samir
e820a3a57a Small fixes to cas.py, waiting for upstream merge 2016-06-23 12:14:15 +02:00
Valentin Samir
7a637c7321 verify_ticket(ticket) can return None as attributes 2016-06-23 12:14:02 +02:00
Valentin Samir
d1c5ff4019 Use session to transmist username/ticket from fedeare view to login view
Hence, these parameter are not recorder in the user history, and thus
the user username do not apear anymore in the history. This respect more the
user privacy.
2016-06-22 12:46:18 +02:00
Valentin Samir
8ddf06b82a Merge branch 'master' into federate 2016-06-21 18:04:17 +02:00
Valentin Samir
b96c0ef4c7 Wrap logo on small screens 2016-06-21 18:02:27 +02:00
Valentin Samir
4c5599ea7b Add CAS_FEDERATE_PROVIDERS_LIST to settings parameters 2016-06-21 16:20:25 +02:00
Valentin Samir
3a71cc2cca Add "remember my identity provider" expiry time in a setting parameter 2016-06-21 15:41:43 +02:00
Valentin Samir
bec51755fa fix too many values to unpack in federate.py 2016-06-21 15:31:46 +02:00
Valentin Samir
a00e5d403d Add a verbone names to CAS_FEDERATE_PROVIDERS 2016-06-21 14:46:01 +02:00
Valentin Samir
46cfaa6745 Fix python3 error "'dict_keys' object has no attribute 'sort'" 2016-06-21 09:53:43 +02:00
Valentin Samir
25ece526a0 Update translation 2016-06-21 00:17:04 +02:00
Valentin Samir
0dba0d1776 Style and federated doc about the manage command cas_clean_federate 2016-06-20 14:20:49 +02:00
Valentin Samir
177da450aa Add headers to cas.py 2016-06-20 14:14:50 +02:00
Valentin Samir
3cef82b475 Hide h1 if auto_submit is enable 2016-06-20 13:51:40 +02:00
Valentin Samir
63a041463d No need for a different template for federated login 2016-06-20 13:38:50 +02:00
Valentin Samir
a209b06df0 Merge branch 'master' into federate 2016-06-20 13:36:30 +02:00
Valentin Samir
c7ac3bee7a Add a h1 to default templates and a logo 2016-06-20 13:31:59 +02:00
Valentin Samir
e8a587f48a Disable federated auth if CAS_FEDERATE is False 2016-06-19 13:00:28 +02:00
Valentin Samir
5cf820e44f Add a command to clean old federated users 2016-06-19 13:00:09 +02:00
Valentin Samir
efdd97ec07 Test for CAS federation 2016-06-17 19:28:49 +02:00
Valentin Samir
3a57ad0835 style 2016-06-03 14:19:43 +02:00
Valentin Samir
77fcd7a24e Forgotten debug variable 2016-06-03 14:17:49 +02:00
Valentin Samir
755f571fd7 Bad button name on warn.html 2016-06-03 14:15:41 +02:00
Valentin Samir
a8cb006989 Merge github.com:nitmir/django-cas-server 2016-06-03 14:12:38 +02:00
Valentin Samir
20f11eca77 Use a POST for "warn me" and only generate the ticket after the "warn me" page 2016-06-03 14:11:07 +02:00
Valentin Samir
a45cb1d38b Typo, bad variable name 2016-05-11 13:06:41 +02:00
Valentin Samir
851f32bfd4 Update translations 2016-05-03 23:55:50 +02:00
Valentin Samir
b4aef57534 Typo: loggin -> log in 2016-05-03 23:51:32 +02:00
Valentin Samir
b0e8d0ee05 Return username in CAS1.0 on the second ligne 2016-04-29 19:57:12 +02:00
Valentin Samir
80b16c002b Evaluate attributes variables in samlValidate.xml 2016-04-29 19:56:32 +02:00
Valentin Samir
6a6fe14c9f Merge github.com:nitmir/django-cas-server 2016-04-28 19:34:49 +02:00
Valentin Samir
b0ae19c36f Add sensitive_post_parameters and sensitive_variables for passwords 2016-04-28 19:33:46 +02:00
Valentin Samir
8a2e44c23c Normalize first migration 2016-03-26 18:30:06 +01:00
Valentin Samir
673f46593a Simplify first migration, should fix #1 2016-03-26 18:29:32 +01:00
Valentin Samir
a3a5979660 [travis] cas_server/models.py:392:17: W503 line break before binary operator 2016-03-18 13:22:00 +01:00
Valentin Samir
93e11befc5 [utils.py] Errors in utils.import_attr are more understandable. 2016-03-18 13:03:23 +01:00
Valentin Samir
10c53a8096 On logout display the number of sessions we are logged out from (none, 1, more). 2015-12-26 15:37:46 +01:00
Valentin Samir
494da62935 Fix MysqlAuthUser when number of results != 1, typo in README 2015-12-19 17:14:02 +01:00
Valentin Samir
f0ecd653d3 Add cosmetic migration 2015-12-18 11:34:45 +01:00
Valentin Samir
85b74bab27 Add verbose name for cas_server app and models 2015-12-17 19:24:10 +01:00
Valentin Samir
20aa4c0d74 Add logging capabilities 2015-12-13 13:57:35 +01:00
Valentin Samir
cd4b9846cd Add a timeout to SLO requests 2015-12-13 13:50:01 +01:00
Valentin Samir
bfad265299 Add a help_text to pattern of ServicePattern 2015-12-12 18:22:02 +01:00
Valentin Samir
78f4538f6a Update README 2015-12-12 17:26:19 +01:00
Valentin Samir
d0f6ed9ea3 add forgotten migration 2015-12-12 14:00:43 +01:00
Valentin Samir
b69769d71a Django 1.9 compatibility 2015-12-12 13:53:21 +01:00
Valentin Samir
9dc18675f9 Possibility to logout from all of one user sessions 2015-12-12 12:02:26 +01:00
Valentin Samir
bfcf410f26 Put maximum number of parallel SLO requests in config 2015-12-12 12:01:57 +01:00
Valentin Samir
99d27fe197 update translations 2015-12-12 12:01:36 +01:00
Valentin Samir
fa6301c873 Add an optional callback to javascript cas login function 2015-12-11 13:29:56 +01:00
Valentin Samir
187da57be1 Add a title to html pages 2015-12-11 13:29:37 +01:00