Min RK
7122ca1c24
add lock to prevent concurrent calls to check_routes
2018-04-05 12:09:06 +02:00
Min RK
1aa6dc6686
use semaphore to limit concurrent requests to the proxy
...
should limit timeout errors in case of flooding the proxy with requests
default concurrency is 10
2018-03-27 14:30:03 +02:00
Min RK
fdc4385e62
a bit more debug logging in proxy.check_routes
...
- log (info) that check_routes is starting
- log (debug) when fetching routes
2018-03-27 14:25:49 +02:00
Min RK
98c7fa919f
avoid deleting routes for spawners
...
we previously checked if spawn_pending, but *any* transitional state should exclude them from the check
2018-03-27 10:43:43 +02:00
Min RK
6474a55302
Merge pull request #1749 from minrk/await-fixes
...
fix await of default authenticate
2018-03-26 13:34:01 +02:00
Min RK
8566d4c5ab
fix await of default authenticate
2018-03-23 10:57:47 +01:00
Min RK
7bd4f6490c
Merge pull request #1731 from vilhelmen/pam_account_check
...
Allow checking PAM account stack during PAM auth
2018-03-23 09:19:20 +01:00
Unknown
25373f510d
Allow and enable PAM account stack checking
...
JH can now differentiate between authenticated and authorized users via PAM
This allows JH to respect PAM-accessible user access controls.
This also fixes missing PAMAuthenticator.encoding usages.
2018-03-22 15:53:28 -05:00
Min RK
82cab39e1c
Merge pull request #1722 from minrk/login-spawn
...
Simplify root/login redirect behavior
2018-03-21 13:20:49 +01:00
Min RK
2bded65c7e
update singleuser auth test url check
...
handle `?redirects`
2018-03-21 12:58:59 +01:00
Min RK
a3a0c60804
update redirect tests
...
now that redirects are not sensitive to state
2018-03-21 11:15:40 +01:00
Min RK
704b172887
update tests to reflect that login no longer implies spawn
2018-03-21 10:51:49 +01:00
Min RK
135717f8cb
Merge pull request #1733 from willingc/spawner-comment
...
Add a spawner_class option to the reference example
2018-03-21 10:38:33 +01:00
Carol Willing
344a3e7b24
Add a spawner_class option to the reference example
2018-03-19 14:23:14 -07:00
Min RK
a0ee237ada
Simplify root/login redirect behavior
...
- ignore spawner state when determining redirect destination
- remove implicit spawn from login handler (rely on redirect to user.url for spawn)
- settings.redirect_to_server determines if login sends users to /user/:name vs /hub/home
- visiting `/hub/` should result in the same destination regardless of login state or spawner state
2018-03-14 15:37:25 +01:00
Min RK
e81eb9a5f8
Merge pull request #1687 from minrk/external-oauth-basic
...
fix /api/user with oauth tokens
2018-03-13 16:11:28 +01:00
Min RK
98d3b538af
Further clarifications in external-oauth example
2018-03-13 10:03:01 +01:00
Min RK
3614a0e368
move get_self test after get_users
...
to avoid changing expected state
2018-03-13 10:03:01 +01:00
Min RK
0421497b1e
remove web.authenticated from /api/user handler
...
which prevents it from being used with oauth tokens
2018-03-13 10:03:01 +01:00
Min RK
8b3c2fa12f
add whoami-oauth-basic example
...
implements oauth without inheriting from HubOAuthenticated
should be easier to parse for users with alternate oauth implementations
2018-03-13 10:03:01 +01:00
Min RK
a58bea6d93
Merge pull request #1696 from minrk/async-def
...
async/await syntax
2018-03-12 18:40:34 +01:00
Min RK
c7c41cd761
remove bad yield in test_api
2018-03-12 18:32:00 +01:00
Min RK
b282ec73c7
no_patience doesn't quite work with zero timeout anymore
...
thanks to asyncio always waiting a finite time on any await
2018-03-12 18:18:47 +01:00
Min RK
dad26be2c6
call it our own maybe_future
...
our version of gen.maybe_future that's fully tornado- and asyncio-compatible
2018-03-12 18:18:47 +01:00
Min RK
58d602e549
require Python 3.5 for async/await syntax
2018-03-12 18:18:46 +01:00
Min RK
5e14904205
fix a few unawaited calls to coroutines
...
asyncio is less forgiving about these than tornado
2018-03-12 18:18:46 +01:00
Min RK
97293ab7ce
use asyncio.ensure_future to start coroutines immediately
...
asyncio has different coroutine start mechanics than tornado
tornado starts coroutines immediately,
whereas asyncio doesn't until they are scheduled with either ensure_future or waited upon.
2018-03-12 18:18:46 +01:00
Min RK
b6f634368c
add utils.awaitable replacement for gen.maybe_future
...
gen.maybe_future doesn't accept asyncio coroutines
and asyncio.ensure_future doesn't accept *tornado* coroutines, so do our own thing
2018-03-12 18:18:46 +01:00
Min RK
7b4de150cc
add awaitable wrapper
...
to replace gen.maybe_future
2018-03-12 18:18:46 +01:00
Min RK
7a268c94b0
bulk find/replace async def and await
...
- `@gen.coroutine def` -> `async def`
- `yield future` -> `await future`
needs some fine tuning, but this is the big one
2018-03-12 18:18:46 +01:00
Carol Willing
7a1fa78632
Merge pull request #1660 from minrk/spawn-form-access
...
expand admin[-access] support
2018-03-12 07:34:07 -07:00
Min RK
19f02da64d
should_spawn=False when current_user is None (not logged in)
2018-03-12 14:23:57 +01:00
Min RK
5bf1aac9cb
get the right render form when spawning for another user
2018-03-12 14:23:57 +01:00
Min RK
0ae034083c
fix spawn admin tests
2018-03-12 14:23:57 +01:00
Min RK
5010af941b
'start server' on admin page opens spawn form
...
if spawn form is registered and admin access is enabled
cannot use spawn form on behalf of users without admin_access
2018-03-12 14:23:52 +01:00
Min RK
015df7e060
unify mocking of tornado_settings
...
ensures that everywhere we access settings, it's the same dict
and not a copy
2018-03-12 14:23:00 +01:00
Min RK
e025d58f6e
fix mocks for spawner config
2018-03-12 14:23:00 +01:00
Min RK
b151d333d3
show who you're spawning for if it's not yourself
...
on the spawn page
2018-03-12 14:23:00 +01:00
Min RK
304c005a85
fix priority of template namespace
...
allow overrides
2018-03-12 14:23:00 +01:00
Min RK
e2591e8e36
fix user construction in add_user test function
...
ensures same construction is used as the real app
2018-03-12 14:23:00 +01:00
Min RK
f3c22cb6d0
test spawn-form for other users
2018-03-12 14:23:00 +01:00
Min RK
b2527984bc
use find_user in POST /spawn/:user
...
so we get a 404 for missing users
2018-03-12 14:23:00 +01:00
Min RK
b8d2271191
add /spawn/:user for spawning servers for a specific user
...
part of admin-access
2018-03-12 14:23:00 +01:00
Min RK
b8978b0235
allow admin-access to launch servers via /user/:name
...
rather than checking if user.name == name,
check more directly if user should have access to :name's server
2018-03-12 14:23:00 +01:00
Min RK
63ef6419cd
add admin_access fixture
2018-03-12 14:23:00 +01:00
Min RK
25dc429455
ensure app.tornado_settings is the real tornado settings in mocking
...
enables updates to settings during testing
2018-03-12 14:23:00 +01:00
Carol Willing
7550e63fd0
Merge pull request #1700 from minrk/cookie-name
...
cleanup some cookie names
2018-03-07 08:34:25 -08:00
Carol Willing
0561968fac
Merge pull request #1694 from minrk/sigusr
...
add SIGINFO handler
2018-03-07 08:32:08 -08:00
Min RK
7811bf518b
cleanup some cookie names
...
In part to cleanup a few remnants of early design where jupyterhub was ‘jupyter-hub’ instead of ‘jupyterhub’.
Should also clarify to some degree what the cookies are for.
- hub login cookie is now ‘jupyterhub-hub-login’ instead of ‘jupyter-hub-token’
- user server cookie is now ‘jupyterhub-user-<name>’ instead of ‘user-name’ to keep jupyterhub prefix on all cookies
All cookies at this point:
- jupyterhub-session-id on /
- jupyterhub-hub-login on /hub/ (the main login cookie)
- jupyterhub-services on /services/
- jupyterhub-user-<name> on /user/:name
- jupyterhub-user-<name>-oauth-state on /user/:name during oauth
2018-03-05 10:55:07 +01:00
Min RK
bc7116ad94
Merge pull request #1691 from minrk/async-pam-auth
...
talk to PAM in a thread
2018-03-02 11:40:18 +01:00