Benjamin Dauvergne
7a5223d050
release 1.2.24
2016-03-04 10:09:11 +01:00
Benjamin Dauvergne
6aa9170982
Fix removal of admin right when users have admin attributes but is already admin ( fixes #10195 )
2016-03-04 10:07:54 +01:00
Benjamin Dauvergne
bac013c19f
release 1.2.23
2016-03-02 20:53:28 +01:00
Benjamin Dauvergne
6b1dd11f18
debian: declare it breaks hobo before release 0.34.5
2016-03-02 18:47:03 +01:00
Benjamin Dauvergne
3f0f0be180
silence Django 1.10 deprecration warnings
2016-03-02 18:14:46 +01:00
Benjamin Dauvergne
ec27553789
adapters: factorize user creation in lookup_user() ( fixes #10164 )
...
User creation can have peculiarities.
2016-03-02 17:39:15 +01:00
Benjamin Dauvergne
fe53dab9ca
trivial: move utils import
2016-02-26 21:36:08 +01:00
Benjamin Dauvergne
3d91d40cb2
django 1.9 adaptations
...
- django.utils.same_origin was removed
- HttpRequest.REQUEST was removed
- settings.USE_TZ is True by default
- get_default_timezone() is now wrapped by an lrucache(), when modifying
settings.TIME_ZONE we must also clear the cache.
2016-02-26 21:35:21 +01:00
Benjamin Dauvergne
cd4e33f47f
tests: add test on SP initiated login
2016-02-26 18:09:27 +01:00
Benjamin Dauvergne
40cc598904
views: change HTTP 400 message when no idp is found
2016-02-26 18:09:27 +01:00
Benjamin Dauvergne
c1d2fb1a32
trivial: move lasso import
2016-02-26 18:09:27 +01:00
Benjamin Dauvergne
7602d7b79d
tests: add tests on mellon.utils
2016-02-26 18:09:27 +01:00
Benjamin Dauvergne
6af1ebfc55
views: do not traceback in get_idp() when no idp is declared
2016-02-26 18:09:27 +01:00
Benjamin Dauvergne
afd7d519ec
tests: remove unused variable
2016-02-26 18:09:27 +01:00
Benjamin Dauvergne
bb9451e6ba
add discovery service support ( fixes #10111 )
2016-02-26 18:09:27 +01:00
Benjamin Dauvergne
8961a743f5
move idp settings building in adapters
2016-02-26 18:09:27 +01:00
Benjamin Dauvergne
9fe8aaf0be
adapters: improve logging during provisionning
...
- user creation is logged
- attributes are only changed if different from the provisionning value,
and changes are logged.
2016-02-26 18:09:27 +01:00
Benjamin Dauvergne
cf63b7e0ce
templates: fix default_assertion_consumer_binding check, use of = instead of ==
2016-02-26 18:09:27 +01:00
Benjamin Dauvergne
66922a5f29
app_settings: fix import of ImproperlyConfigured exception
...
As sys.modules is modified, global imports do not work.
2016-02-26 18:09:27 +01:00
Benjamin Dauvergne
33d305f7a7
add support for Organization and ContactPerson elements in metadata ( fixes #6656 )
2016-02-26 18:09:27 +01:00
Benjamin Dauvergne
aa95501d8b
templates: fix public key representation in metadata
2016-02-26 18:09:27 +01:00
Benjamin Dauvergne
c504f7e8db
tests: add helper to check XML documents
2016-02-26 18:09:27 +01:00
Benjamin Dauvergne
26ffe9af97
utils: fix iso8601_to_datetime, make_naive amd make_aware need a timezone parameter
2016-02-26 18:09:27 +01:00
Benjamin Dauvergne
4320f4fa78
utils: fix flatten_datetime, isoformat() already add a timezone if needed
2016-02-26 18:09:27 +01:00
Benjamin Dauvergne
75382c9ab1
pep8ness
2016-02-26 18:09:27 +01:00
Benjamin Dauvergne
bd216c7ab7
store cached metadata in settings
2016-02-26 18:09:27 +01:00
Benjamin Dauvergne
4f77ee0e24
do not pass strings contening null characters to Lasso, return 400 or ignore ( fixes #8939 )
2016-02-26 18:09:17 +01:00
Benjamin Dauvergne
f2cf86f7a6
add tox.ini to test on django 1.7, 1.8, 1.9 and with sqlite and pg
2016-02-26 18:09:11 +01:00
Benjamin Dauvergne
3ca64e7eaf
report lasso error at debug level
2016-02-12 19:44:24 +01:00
Benjamin Dauvergne
a597839d14
log errors when loading IdP metadata instead of throwing a traceback ( fixes #9745 )
2016-02-12 19:44:19 +01:00
Benjamin Dauvergne
fc7fd250cd
pep8ness
2016-02-12 19:44:19 +01:00
Benjamin Dauvergne
e641c6ec96
fix concurrency error when creating new users ( fixes #9965 )
...
UserSAMLIdentifier is retrieved using get_or_create() first, and if is new
we proceed with the creation of the new user, otherwise we delete the temporaru
user we created use the one attached to the existing UserSAMLIdentifier.
2016-02-12 19:44:19 +01:00
Benjamin Dauvergne
359a2f4be0
reset is_staff when superuser mapping fails ( fixes #9736 )
2016-01-21 20:02:34 +01:00
Benjamin Dauvergne
2289b8350e
implement session_not_on_or_after using new session engines ( fixes #9640 )
2016-01-15 12:29:31 +01:00
Benjamin Dauvergne
9143056569
use dateutil to parse datetime strings ( #9640 )
2016-01-15 12:26:58 +01:00
Benjamin Dauvergne
f45bb8b2d0
utils: return naive datetime if USE_TZ=False ( fixes #9521 )
2016-01-06 09:54:52 +01:00
Benjamin Dauvergne
9b7da116ea
setup.py: hide DJANGO_SETTINGS_MODULE value when calling compilemessages
2015-12-17 11:06:42 +01:00
Benjamin Dauvergne
dc1e4e56ea
do not flatten attributes inplace, and convert expiry to seconds ( fixes #9359 )
...
Original datetime must be kept for setting the expiry, but expiry using datetime
is not supported when using JSON sessions, so we convert it to seconds expiry
before setting it.
We also make iso8601 parsed datetime timezone aware, to match with other
datetimes in Django.
2015-12-16 18:06:07 +01:00
Benjamin Dauvergne
e18dd7c7e5
adapters: prevent collision in provision_groups() ( fixes #9327 )
...
Assiging related m2m fields provokes a bulk insert which is not safe with
respect to concurrent writes, we replace this by use of get_or_create() and
delete() on the through model of the User.groups field.
2015-12-15 10:52:10 +01:00
Benjamin Dauvergne
78762accf7
middleware: handle process_view ( #9131 )
...
In process_request request.resolver_match is not yet defined.
2015-11-27 12:00:24 +01:00
Benjamin Dauvergne
8da5807298
middleware: do not apply autologin to mellon views ( fixes #9131 )
2015-11-27 10:29:21 +01:00
Benjamin Dauvergne
ad2a575a35
middleware: disallow passive authentication when no IdP is found ( fixes #8123 )
2015-09-25 16:12:30 +02:00
Benjamin Dauvergne
7f70dbcb9f
Revert "views: add an iframe mode to the login view"
...
This reverts commit 0e57f99312
.
2015-09-25 15:38:13 +02:00
Benjamin Dauvergne
9667aa5f18
add PassiveAuthenticationMiddleware using a common domain cookie ( fixes #8123 )
...
Name of the cookie must be put in MELLON_OPENED_SESSION_COOKIE_NAME and
common domain can be defined in MELLON_OPENED_SESSION_COOKIE_DOMAIN, if
unset the common domain is guessed by removing the first part of the
domain name (www.xxx.com -> xxx.com).
2015-09-25 15:03:49 +02:00
Benjamin Dauvergne
0e57f99312
views: add an iframe mode to the login view
...
Use it by putting a tag:
<iframe height="0" width="0" src="{% url "mellon_login" %}?{{ request.GET.urlencode }}&passive&iframe"></iframe>
in your page. It will do a passive authentication inside the iframe and
will use JS to reload the top frame if authentication is successfull.
2015-08-27 14:37:44 +02:00
Benjamin Dauvergne
b1b0494ccc
adapters: truncate attributes assigned to user fields ( fixes #7907 )
2015-07-22 16:22:59 +02:00
Benjamin Dauvergne
7ff1969bf5
views: add missing exception for case of status is not success ( fixes #7878 )
2015-07-21 14:06:54 +02:00
Serghei Mihai
c3481b570c
use requests to retreive metadata ( #7785 )
2015-07-06 12:01:58 +02:00
Benjamin Dauvergne
06f3380eb4
Use the lasso thin-sessions feature
2015-06-25 11:26:50 +02:00
Benjamin Dauvergne
00b7fe396c
Send log message about logout before effective logout so that request.user is not Anonymous
2015-06-25 11:26:37 +02:00