Commit Graph

4290 Commits

Author SHA1 Message Date
Serghei Mihai 696823919c auth: let LoginPassword frontend handle registration (#31218) 2019-05-18 18:59:57 +02:00
Benjamin Dauvergne 92c829dd3a hashers: convert salt to bytes before concatenation (#33226) 2019-05-17 20:57:50 +02:00
Benjamin Dauvergne 9fbbf0519a spring cleaning (#32934)
* reorganize views and forms
* add copyright headers to all .py files
* fix all style errors reported by flake8
2019-05-14 16:19:25 +02:00
Benjamin Dauvergne 7a0d5719d8 tox.ini: run pylint (#32961) 2019-05-10 17:50:53 +02:00
Benjamin Dauvergne 9c3951ceeb Jenkinsfile: do not activate virtualenv (#32961)
It allows getlasso.sh to work inside tox.
2019-05-10 12:13:59 +02:00
Benjamin Dauvergne 20e0f61b6b tox: generate only one coverage and junit file (#32961) 2019-05-10 10:38:15 +02:00
Benjamin Dauvergne b7d0c63b6b utils: add function get_authentication_events (#32780) 2019-05-07 14:00:18 +02:00
Frédéric Péters eeb809fbeb translation update 2019-05-06 15:51:52 +02:00
Frédéric Péters 69f9cc1e1c utils: pass user to account deletion email template (#32793) 2019-05-05 16:06:56 +02:00
Frédéric Péters 8be2e0911c templates: share translable strings between txt and html email parts (#32791) 2019-05-05 15:51:27 +02:00
Frédéric Péters a5fc1d78e5 i18n: make sure account deletion email is properly translatable (#32790) 2019-05-05 15:47:20 +02:00
Frédéric Péters 27cbf37229 translation update (#32645) 2019-05-05 15:43:24 +02:00
Benjamin Dauvergne a5cc143ee4 ldap: add representation of LDAP exceptions to log (#32768) 2019-05-03 16:00:37 +02:00
Frédéric Péters 895131ea62 manager: change site export to be downloaded by default (#32779) 2019-05-03 15:31:57 +02:00
Benjamin Dauvergne de0b31d7b6 use utils.can_change_password() everywhere (#32760) 2019-05-03 09:58:01 +02:00
Paul Marillonnet 67ab518726 python3: use DjangoWebtestResponse.text in test_change_email 2019-05-02 11:05:03 +02:00
Paul Marillonnet a527949280 python3: remove dict.iterkeys 2019-05-02 11:03:11 +02:00
Paul Marillonnet 066341c883 python3: oidc authn test jwk encoding 2019-05-02 11:01:21 +02:00
Paul Marillonnet b4ae98963d python3: oidc authn backend jwk encoding 2019-05-02 11:01:06 +02:00
Paul Marillonnet 0e923ba857 oidc authn: include a status code in httmock responses 2019-05-02 10:58:21 +02:00
Paul Marillonnet 43769fb2a7 python3: py2 unicode compatible __str__ magid methods (#31184) 2019-05-02 10:52:04 +02:00
Benjamin Dauvergne edece01766 auth_oidc: fix log template in backends.py (fixes #32505) 2019-04-19 20:01:54 +02:00
Benjamin Dauvergne 8d91ba556c saml: use RSA-SHA256 signature method (#32011) 2019-04-19 11:05:56 +02:00
Paul Marillonnet 2864f57af9 python3: use DjangoWebtestResponse.text in test_idp_oidc (#32445) 2019-04-19 08:25:14 +02:00
Benjamin Dauvergne 52edd31e3f manager: replace $UUID pattern in next parameter of UserAddView (fixes #32140) 2019-04-18 11:34:20 +02:00
Benjamin Dauvergne 354a215ab3 manager: accept a cancel_url parameter on UserAddView (#32140) 2019-04-18 11:34:20 +02:00
Benjamin Dauvergne bddada5acd utils: allow string replacement in next parameters (#32140)
The caller must explicitely give the replacement it covers through the
replace argument taking a dictionnary. The dictionnary keys are the
replacement pattern as simple strings, dictionnary values are the
replacement substitution. The replacement substitution is encoded with
urlparse.quote() before replacement.
2019-04-18 11:34:20 +02:00
Benjamin Dauvergne 16aa682aa1 utils: allow overriding REDIRECT_FIELD_NAME in select_next_url() (#32140)
A view can have different next_url depending on its final state
(cancel, ok, etc..)
2019-04-18 11:34:20 +02:00
Benjamin Dauvergne 279788672a tests: code style and PEP8 (#32140) 2019-04-18 11:34:20 +02:00
Paul Marillonnet 901d40798b python3: ascii-encode json dumps while testing site imports (#31185) 2019-04-17 12:47:10 +02:00
Paul Marillonnet 2af185ea6a python3: ascii-encode saml provider id before hashing it (#31183) 2019-04-17 12:45:09 +02:00
Paul Marillonnet 4c9a4359aa python3: add getlasso3 script to MANIFEST.in (#32402) 2019-04-17 12:14:24 +02:00
Paul Marillonnet c8249b4cfb python3: idp cas service urls getter (#32400) 2019-04-17 12:13:12 +02:00
Paul Marillonnet e6ddc1cdd3 python3: retrieve python-ldap major version number (#32399) 2019-04-17 12:11:13 +02:00
Paul Marillonnet d71b7533e1 python3: deprecate __metaclass__ attribute (#31182) 2019-04-16 17:29:39 +02:00
Paul Marillonnet f7d2fb10df python3: use binascii's hexadecimal encoding "hexlify" (#31163) 2019-04-16 17:12:50 +02:00
Christophe Siraut 00db0f3350 debian: bump debhelper compatibility level (#32260) 2019-04-16 14:28:07 +02:00
Benjamin Dauvergne 05d68af54e auth_oidc: compare token_type case insensitively (fixes #32281) 2019-04-15 11:50:32 +02:00
Benjamin Dauvergne 532e5b2066 jenkins.sh: use fsync=off and allocate a port manually for pg_virtualenv (fixes #32218) 2019-04-12 18:05:45 +02:00
Benjamin Dauvergne c6749111ad tests: adapt to new gadjo version (fixes #32238) 2019-04-12 14:50:07 +02:00
Benjamin Dauvergne 9d945a6ecd tox.ini: use --random-group instead of --random with pytest 2019-04-12 14:49:18 +02:00
Benjamin Dauvergne 3ead3d2ee3 utils: use ou slug in template names for mails (fixes #32236) 2019-04-12 13:35:25 +02:00
Benjamin Dauvergne e2ad31601e tests: add oidc tests on claim's default values (#31749) 2019-04-10 17:22:10 +02:00
Benjamin Dauvergne 57fc514a94 idp_oidc: use empty string as default value for known claims (#31749) 2019-04-10 17:22:10 +02:00
Benjamin Dauvergne 32daf24ae6 idp_oidc: only set default_value for claims requested by the scopes (#31749) 2019-04-10 17:20:30 +02:00
Benjamin Dauvergne 56dd857a39 user: fix hasattr() on attributes (fixes #32040) 2019-04-07 16:18:12 +02:00
Benjamin Dauvergne ff92cb1fb9 user: replace all uses of Attribute.set_value() (#31937) 2019-04-05 13:08:31 +02:00
Benjamin Dauvergne 1079ac2e00 user: add command to fix storage of first_name/last_name attributes (#31937) 2019-04-05 13:08:31 +02:00
Benjamin Dauvergne b72b11cb83 user: fix cache errors on first_name/last_name handling (fixes #31937)
first_name/last_name are not updated anymore inside
Attribute.set_value() but only through the Attributes object.

In User.save() we first compare current values of first/last_name before
resetting the corresponding AttributeValue, i.e. if the value does not
change we never reset the verified status.

A map cache of attributes values is kept in user._a2_attributes_cache to
reduce the number of queries when modifying attributes.
2019-04-05 13:08:31 +02:00
Benjamin Dauvergne 085a1b0270 code style (#31937) 2019-04-04 18:46:43 +02:00