Commit graph

170 commits

Author SHA1 Message Date
Marcin Kuzminski
cbff54d3ed docs: added SAML documentation.
- Remove few obsolete replaces
- update authentication docs
- cleanups and fixes
2018-11-30 07:37:45 +01:00
Marcin Kuzminski
d7fe00f943 auth: add better logging for ldap related attributes to help track problems 2018-12-05 19:07:17 +01:00
Marcin Kuzminski
1ff28bbbfe auth: fixed docstring 2018-11-30 11:48:51 +01:00
Marcin Kuzminski
4dc9d4463e auth: UI changes
- make buttons wider to handle longer names for SAML plugins
- make order of plugins sorted again because it tends to jump arround in order
  without that sorting.
- social is now external auth
2018-11-29 18:15:55 +01:00
Marcin Kuzminski
739fc96fe7 auth-plugins: updated some code for better unicode compat. 2018-11-29 18:14:14 +01:00
Marcin Kuzminski
09013efd3b auth-plugins: some code cleanup + added docs for main plugin. 2018-11-28 13:42:28 +01:00
Marcin Kuzminski
0fd6e3f6a8 authentication: register global shared session key used for external authentication session data storeage.
- We'll have more plugins not only oauth so this should be a constant name, instead of repating the same name all over the code.
2018-11-26 23:14:55 +01:00
Marcin Kuzminski
c258d66e7b authentication: use registerd UID for plugin definition for more consistent loading of auth plugins. 2018-11-26 23:11:52 +01:00
Marcin Kuzminski
e8ec810de8 app: disconect auth plugin loading from authentication registry.
- introduce load_all flag used in skip application load time for certain actions
2018-11-26 00:15:05 +01:00
Marcin Kuzminski
f33e0ddc9f core: change from homebrew plugin system into pyramid machinery.
- it's faster to load
- homebrew system was never used as intended
- it's cleaner CE/EE code this way
2018-11-25 11:56:29 +01:00
Marcin Kuzminski
fcc18a6200 application: re-organize imports for pyramid to prepare code for speedup optimization. 2018-11-24 17:52:21 +01:00
Marcin Kuzminski
e1bbb01dab ldap: adde common ldap-ce na ldap-ee structure, and extend options
- added timeout
- make the code more shared
- allow specification of tls certdir and certfile manually
2018-11-25 18:47:15 +01:00
Marcin Kuzminski
fc6891786b auth-plugins: updated display names of plugins, and root resource. 2018-11-21 18:51:34 +01:00
Marcin Kuzminski
a7a5fe4247 auth-plugins: updated UI for authentication plugins, and allow unsorted (in order of registration) display of plugins. 2018-11-21 18:44:21 +01:00
Marcin Kuzminski
3947a873c5 auth-plugins: expose docs and icon methods for authentication. 2018-11-21 18:43:26 +01:00
Marcin Kuzminski
215c7d3beb ldap: ensure the proper cert files and dirs are set.
- addresses some issues with SSL certificates after bump of the LDAP drivers.
2018-11-20 22:05:34 +01:00
Marcin Kuzminski
9033601562 logging: use lazy parameter evaluation in log calls. 2018-09-13 17:41:35 +02:00
Marcin Kuzminski
b1bfdeb6ba caches: enable cache TTL=30s for auth-plugins.
- mostly due to this gives massive performance gains.
- most of customers choose to use it.
- svn gets *massive* boost from this.
2018-08-11 21:35:19 +02:00
Marcin Kuzminski
f1497f5afd caches: new cache context managers.
- deprecate beaker cache completly
- use new cache decorators from dogpile
- use a proper per cache key invalidation
2018-08-02 18:04:52 +02:00
Marcin Kuzminski
490e2c8a57 dependencies: bumped python-pam to 1.8.4 and fixed pam auth. 2018-07-31 16:56:20 +02:00
Marcin Kuzminski
9665179aa5 caches: use new decorator that uses conditional caches skipping dogpile if cache is disabled. 2018-07-14 18:17:42 +02:00
Marcin Kuzminski
84d673d387 caches: use dogpile for sql_cache_short region. 2018-07-12 17:20:03 +02:00
Marcin Kuzminski
cc72ded271 caches: skip cache if user is empty. 2018-07-06 14:47:09 +02:00
Marcin Kuzminski
ddc445856e caches: rewrite of auth/permission caches to dogpile. 2018-07-05 20:14:33 +02:00
Marcin Kuzminski
213cf5463d release: merge back stable branch into default 2018-05-15 16:04:13 +02:00
Marcin Kuzminski
12d382294e ldap: use connection ping only in case of single server specifed. 2018-05-04 16:13:31 +02:00
Marcin Kuzminski
a9aca0d074 email: added help block on where to change email settings 2018-04-25 12:02:44 +02:00
Marcin Kuzminski
35d60afec4 auth-plugins: fixed problem with cache of settings in multi-worker mode.
- previous implementation had a bug that cached the settings in each class, caused not refreshing
the update of settings in multi-worker mode. Only restart of rhodecode loaded new settings.
2018-04-10 11:47:00 +02:00
Marcin Kuzminski
f7c75e1cf6 auth: use more consistent logging on failed logs.
- auth-token, auth-rhodecode uses info for OK, and warn for failed logins.
- using error logs can cause wrong expectations about failure to loging due to an error.
2018-04-09 13:31:57 +02:00
Marcin Kuzminski
89bf42d803 auth-plugins: use a nicer visual display of auth plugins that would highlight that order is
important.

- fixed help text.
2018-03-27 13:50:56 +02:00
Marcin Kuzminski
a8428e7271 auth-ldap: added connection pinning and timeout option to ldap plugin 2018-03-27 11:51:37 +02:00
Marcin Kuzminski
6847122bc5 cli: skip auth plugin search/registry in case of cli invocation for faster execution of those actions.
- we don't need to load plugins for CLI calls
2018-03-01 16:46:49 +01:00
Marcin Kuzminski
46ce151bf7 setup: catch and don't stop on any exception in fetching the legacy plugins. 2018-03-01 13:13:19 +01:00
Marcin Kuzminski
ff0e89625a logging: improve auth log chain for easier debugging. 2018-02-28 14:16:15 +01:00
Marcin Lulek
bb9a4574cb auth: fix regression on cache manage namespace generation in case of external plugins a new users. 2018-02-21 10:39:13 +01:00
Marcin Kuzminski
d06a62c340 logging: improve consistency of auth plugins logs. 2018-02-19 14:49:21 +01:00
Marcin Kuzminski
0cbdfc3f23 ldap: enable connection recycling on LDAP plugin. 2018-02-16 10:57:29 +01:00
Marcin Kuzminski
ba5aec079a caches: use individual namespaces per user to prevent beaker caching problems.
- especially for mysql in case large number of data in caches there could be critical errors storing cache, and thus preventing
users from authentication. This is caused by the fact that we used single namespace for ALL users. It means it grew as number of users grew
reaching mysql single column limit.
This changes the behaviour and now we use namespace per-user it means that each user-id will have it's own cache namespace fragmenting maximum column data to
a single user cache. Which we should never reach.
2018-02-15 17:34:09 +01:00
Marcin Kuzminski
90120e6678 authentication: introduce a group sync flag for plugins.
- we'll skip any syncing on plugins which simply don't get any group information
- we let plugins define if they wish to sync groups
- prevent from odd cases in which someone sets user groups as syncing, and using regular
plugin. In this case memebership of that group would be wiped, and it's generaly bad behaviour.
2018-01-24 16:47:06 +01:00
Marcin Kuzminski
00b45c1fa7 release: update copyright year to 2018 2018-01-19 17:13:16 +01:00
Marcin Kuzminski
79f00ec46a flash: use consistent use of h.flash across the application. 2017-11-16 20:35:50 +01:00
Marcin Kuzminski
5f9ae2ae11 pylons: remove pylons as dependency
- dependencies: bumped:
 -setuptools-scm==1.15.6
 -celery==4.1.0
 -kombu==4.1.0
 -pytz==2017.3
 -Routes==2.4.1

Removed all pylons components. Refactored the code to use only pyramid
parts
2017-11-15 13:42:54 +01:00
Marcin Kuzminski
d4c5944577 release: merge back stable branch into default 2017-11-11 22:09:42 +01:00
Marcin Kuzminski
7a512a4788 ldap: fixed regression in extracting settings after library updates.
- somehow we now got '' defaulted to None which changed the behaviour.
2017-11-11 16:43:45 +01:00
Marcin Kuzminski
7de15715e0 ldap: increase timeouts and timelimits for operations 2017-11-11 10:29:31 +01:00
Marcin Kuzminski
116099638b apps: switch import of ADMIN_PREFIX from routing into base app.
- routing is deprecated and will be soon removed
2017-11-07 14:17:26 +01:00
Marcin Kuzminski
27697682bc auth: don't cache settings for auth plugins 2017-10-13 10:54:52 +02:00
Marcin Kuzminski
3d0069b5f4 caches: clear perms cache manager while updating settings for auth plugins 2017-10-12 22:38:04 +02:00
Marcin Kuzminski
7781eabe94 auth: use cache_ttl from a plugin to also cache permissions.
- this gives a 30% speed increase in operations like svn commit
- generally uses the same mechanismy like auth cache to cache permissions for faster
access to vcs commands
2017-10-07 10:02:39 +02:00
Marcin Kuzminski
34175fd787 auth-rhodecode: don't fail on bcrypt if user password is set to None.
Default to emptry string to not cause an exception.
2017-10-07 10:02:57 +02:00