Commit Graph

3066 Commits

Author SHA1 Message Date
Min RK
3b320c75e9 remove warning when generating proxy token if Proxy.should_start
Now that it's unambiguous whether the proxy should start or not,
we don't need a warning about generating tokens causing issues for hub restart.

We can raise a strict, early error if proxy s external and token is still unspecified,
rather than running into a 403 error due to a generated token
2018-03-27 17:46:25 +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
5094448762 Merge pull request #1743 from betatim/user-api
[MRG] Expose `auth_state` via /api/users/<name>
2018-03-27 10:56:39 +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
Tim Head
5b9f51417f Fix permission check when handing out auth state 2018-03-27 10:02:59 +02:00
Tim Head
7a91f89474 Use user's token for auth when using API 2018-03-27 10:02:59 +02:00
Tim Head
bf7afa16e5 Remove auth state from user's self handler 2018-03-27 10:02:59 +02:00
Tim Head
0d57baae82 Modify user API wrt auth_state
A user can not get their own auth state via the REST API. Only admins
can fetch and update the auth state this way.
2018-03-27 10:02:59 +02:00
Tim Head
446d197cf7 Move auth state fixture to conftest 2018-03-27 10:02:59 +02:00
Tim Head
2582f0bbe6 Modify auth_state API test to use mocked crypto 2018-03-27 10:02:59 +02:00
Tim Head
1ee993c664 Add ability to modify auth_state via the REST API 2018-03-27 10:02:59 +02:00
Tim Head
542c20065f Reduce the number of endpoints that expose auth_state 2018-03-27 10:02:59 +02:00
Tim Head
39f663d03c Expose auth_state via user API 2018-03-27 10:02:59 +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
e374e93cfb expose cookie options and pass them down to spawners
enables forcing all-session cookies with:

```python
c.JupyterHub.tornado_settings['cookie_options'] = {
    'expires_days': None,
}
```
2018-03-23 10:38:50 +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
22507cc1cd clear ?redirects from URL once single-user pages load successfully 2018-03-21 13:01:29 +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
Glen Knight
1d87ba8534 updated run? 2018-03-19 23:59:14 -04:00
Glen Knight
97cd27775b updated run command 2018-03-19 23:56:45 -04:00
Glen Knight
fe2e9c282e removed checkout 2018-03-19 23:44:53 -04:00
Glen Knight
fab125975b re-added build step 2018-03-19 23:39:50 -04:00
Glen Knight
cefd7e3b1b remove cicle.yml 2018-03-19 23:38:37 -04: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