|   |   |   |   | 
| Offset 1350, 206 lines modified | Offset 1350, 206 lines modified | 
| 1350  | #·c.Authenticator.username_pattern·=·'' | 1350  | #·c.Authenticator.username_pattern·=·'' | 
|   |   | 
| 1351  | ##·Deprecated,·use·`Authenticator.allowed_users` | 1351  | ##·Deprecated,·use·`Authenticator.allowed_users` | 
| 1352  | #··Default:·set() | 1352  | #··Default:·set() | 
| 1353  | #·c.Authenticator.whitelist·=·set() | 1353  | #·c.Authenticator.whitelist·=·set() | 
|   |   | 
| 1354  | #------------------------------------------------------------------------------ | 1354  | #------------------------------------------------------------------------------ | 
| 1355  | #·DummyAuthenticator(Authenticator)·configuration | 1355  | #·NullAuthenticator(Authenticator)·configuration | 
| 1356  | #------------------------------------------------------------------------------ | 1356  | #------------------------------------------------------------------------------ | 
|   | 1357  | ##·Null·Authenticator·for·JupyterHub | 
| 1357  | ##·Dummy·Authenticator·for·testing |   | 
| 1358  | #·· |   | 
| 1359  | #··By·default,·any·username·+·password·is·allowed·If·a·non-empty·password·is·set, |   | 
| 1360  | #··any·username·will·be·allowed·if·it·logs·in·with·that·password. |   | 
| 1361  | #·· | 1358  | #·· | 
| 1362  | #··..·versionadded::·1.0 | 1359  | #··For·cases·where·authentication·should·be·disabled,·e.g.·only·allowing·access | 
|   | 1360  | #··via·API·tokens. | 
| 1363  | #·· | 1361  | #·· | 
| 1364  | #··..·versionadded::·5.0 | 1362  | #··..·versionadded::·2.0 | 
| 1365  | #······`allow_all`·defaults·to·True, |   | 
| 1366  | #······preserving·default·behavior. |   | 
|   |   | 
| 1367  | ##· | 1363  | ##· | 
| 1368  | #··See·also:·Authenticator.admin_users | 1364  | #··See·also:·Authenticator.admin_users | 
| 1369  | #·c.DummyAuthenticator.admin_users·=·set() | 1365  | #·c.NullAuthenticator.admin_users·=·set() | 
|   |   | 
| 1370  | ##· | 1366  | ##· | 
| 1371  | #··See·also:·Authenticator.allow_all | 1367  | #··See·also:·Authenticator.allow_all | 
| 1372  | #·c.DummyAuthenticator.allow_all·=·False | 1368  | #·c.NullAuthenticator.allow_all·=·False | 
|   |   | 
| 1373  | ##· | 1369  | ##· | 
| 1374  | #··See·also:·Authenticator.allow_existing_users | 1370  | #··See·also:·Authenticator.allow_existing_users | 
| 1375  | #·c.DummyAuthenticator.allow_existing_users·=·False | 1371  | #·c.NullAuthenticator.allow_existing_users·=·False | 
|   |   | 
| 1376  | ##· | 1372  | ##· | 
| 1377  | #··See·also:·Authenticator.allowed_users | 1373  | #··See·also:·Authenticator.allowed_users | 
| 1378  | #·c.DummyAuthenticator.allowed_users·=·set() | 1374  | #·c.NullAuthenticator.allowed_users·=·set() | 
|   |   | 
| 1379  | ##·Is·there·any·allow·config? | 1375  | ##·Is·there·any·allow·config? | 
| 1380  | #··See·also:·Authenticator.any_allow_config | 1376  | #··See·also:·Authenticator.any_allow_config | 
| 1381  | #·c.DummyAuthenticator.any_allow_config·=·False | 1377  | #·c.NullAuthenticator.any_allow_config·=·False | 
|   |   | 
| 1382  | ##·The·max·age·(in·seconds)·of·authentication·info | 1378  | ##·The·max·age·(in·seconds)·of·authentication·info | 
| 1383  | #··See·also:·Authenticator.auth_refresh_age | 1379  | #··See·also:·Authenticator.auth_refresh_age | 
| 1384  | #·c.DummyAuthenticator.auth_refresh_age·=·300 | 1380  | #·c.NullAuthenticator.auth_refresh_age·=·300 | 
|   |   | 
| 1385  | ##·Automatically·begin·the·login·process |   | 
| 1386  | #··See·also:·Authenticator.auto_login |   | 
| 1387  | #·c.DummyAuthenticator.auto_login·=·False |   | 
|   |   | 
| 1388  | ##· | 1381  | ##· | 
| 1389  | #··See·also:·Authenticator.auto_login_oauth2_authorize | 1382  | #··See·also:·Authenticator.auto_login_oauth2_authorize | 
| 1390  | #·c.DummyAuthenticator.auto_login_oauth2_authorize·=·False | 1383  | #·c.NullAuthenticator.auto_login_oauth2_authorize·=·False | 
|   |   | 
| 1391  | ##· | 1384  | ##· | 
| 1392  | #··See·also:·Authenticator.blocked_users | 1385  | #··See·also:·Authenticator.blocked_users | 
| 1393  | #·c.DummyAuthenticator.blocked_users·=·set() | 1386  | #·c.NullAuthenticator.blocked_users·=·set() | 
|   |   | 
| 1394  | ##·Delete·any·users·from·the·database·that·do·not·pass·validation | 1387  | ##·Delete·any·users·from·the·database·that·do·not·pass·validation | 
| 1395  | #··See·also:·Authenticator.delete_invalid_users | 1388  | #··See·also:·Authenticator.delete_invalid_users | 
| 1396  | #·c.DummyAuthenticator.delete_invalid_users·=·False | 1389  | #·c.NullAuthenticator.delete_invalid_users·=·False | 
|   |   | 
| 1397  | ##·Enable·persisting·auth_state·(if·available). | 1390  | ##·Enable·persisting·auth_state·(if·available). | 
| 1398  | #··See·also:·Authenticator.enable_auth_state | 1391  | #··See·also:·Authenticator.enable_auth_state | 
| 1399  | #·c.DummyAuthenticator.enable_auth_state·=·False | 1392  | #·c.NullAuthenticator.enable_auth_state·=·False | 
|   |   | 
| 1400  | ##·Let·authenticator·manage·user·groups | 1393  | ##·Let·authenticator·manage·user·groups | 
| 1401  | #··See·also:·Authenticator.manage_groups | 1394  | #··See·also:·Authenticator.manage_groups | 
| 1402  | #·c.DummyAuthenticator.manage_groups·=·False | 1395  | #·c.NullAuthenticator.manage_groups·=·False | 
|   |   | 
| 1403  | ##·Let·authenticator·manage·roles | 1396  | ##·Let·authenticator·manage·roles | 
| 1404  | #··See·also:·Authenticator.manage_roles | 1397  | #··See·also:·Authenticator.manage_roles | 
| 1405  | #·c.DummyAuthenticator.manage_roles·=·False | 1398  | #·c.NullAuthenticator.manage_roles·=·False | 
|   |   | 
| 1406  | ##· | 1399  | ##· | 
| 1407  | #··See·also:·Authenticator.otp_prompt | 1400  | #··See·also:·Authenticator.otp_prompt | 
| 1408  | #·c.DummyAuthenticator.otp_prompt·=·'OTP:' | 1401  | #·c.NullAuthenticator.otp_prompt·=·'OTP:' | 
|   |   | 
| 1409  | ##·Set·a·global·password·for·all·users·wanting·to·log·in. |   | 
| 1410  | #·· |   | 
| 1411  | #··This·allows·users·with·any·username·to·log·in·with·the·same·static·password. |   | 
| 1412  | #··Default:·'' |   | 
| 1413  | #·c.DummyAuthenticator.password·=·'' |   | 
|   |   | 
| 1414  | ##· | 1402  | ##· | 
| 1415  | #··See·also:·Authenticator.post_auth_hook | 1403  | #··See·also:·Authenticator.post_auth_hook | 
| 1416  | #·c.DummyAuthenticator.post_auth_hook·=·None | 1404  | #·c.NullAuthenticator.post_auth_hook·=·None | 
|   |   | 
| 1417  | ##·Force·refresh·of·auth·prior·to·spawn. | 1405  | ##·Force·refresh·of·auth·prior·to·spawn. | 
| 1418  | #··See·also:·Authenticator.refresh_pre_spawn | 1406  | #··See·also:·Authenticator.refresh_pre_spawn | 
| 1419  | #·c.DummyAuthenticator.refresh_pre_spawn·=·False | 1407  | #·c.NullAuthenticator.refresh_pre_spawn·=·False | 
|   |   | 
| 1420  | ##· | 1408  | ##· | 
| 1421  | #··See·also:·Authenticator.request_otp | 1409  | #··See·also:·Authenticator.request_otp | 
| 1422  | #·c.DummyAuthenticator.request_otp·=·False | 1410  | #·c.NullAuthenticator.request_otp·=·False | 
|   |   | 
| 1423  | ##·Reset·managed·roles·to·result·of·`load_managed_roles()`·on·startup. | 1411  | ##·Reset·managed·roles·to·result·of·`load_managed_roles()`·on·startup. | 
| 1424  | #··See·also:·Authenticator.reset_managed_roles_on_startup | 1412  | #··See·also:·Authenticator.reset_managed_roles_on_startup | 
| 1425  | #·c.DummyAuthenticator.reset_managed_roles_on_startup·=·False | 1413  | #·c.NullAuthenticator.reset_managed_roles_on_startup·=·False | 
|   |   | 
| 1426  | ##·Dictionary·mapping·authenticator·usernames·to·JupyterHub·users. | 1414  | ##·Dictionary·mapping·authenticator·usernames·to·JupyterHub·users. | 
| 1427  | #··See·also:·Authenticator.username_map | 1415  | #··See·also:·Authenticator.username_map | 
| 1428  | #·c.DummyAuthenticator.username_map·=·{} | 1416  | #·c.NullAuthenticator.username_map·=·{} | 
|   |   | 
| 1429  | ##· | 1417  | ##· | 
| 1430  | #··See·also:·Authenticator.username_pattern | 1418  | #··See·also:·Authenticator.username_pattern | 
| 1431  | #·c.DummyAuthenticator.username_pattern·=·'' | 1419  | #·c.NullAuthenticator.username_pattern·=·'' | 
|   |   | 
| 1432  | ##·Deprecated,·use·`Authenticator.allowed_users` | 1420  | ##·Deprecated,·use·`Authenticator.allowed_users` | 
| 1433  | #··See·also:·Authenticator.whitelist | 1421  | #··See·also:·Authenticator.whitelist | 
| 1434  | #·c.DummyAuthenticator.whitelist·=·set() | 1422  | #·c.NullAuthenticator.whitelist·=·set() | 
|   |   | 
| 1435  | #------------------------------------------------------------------------------ | 1423  | #------------------------------------------------------------------------------ | 
| 1436  | #·NullAuthenticator(Authenticator)·configuration | 1424  | #·DummyAuthenticator(Authenticator)·configuration | 
| 1437  | #------------------------------------------------------------------------------ | 1425  | #------------------------------------------------------------------------------ | 
| 1438  | ##·Null·Authenticator·for·JupyterHub | 1426  | ##·Dummy·Authenticator·for·testing | 
| 1439  | #·· | 1427  | #·· | 
| 1440  | #··For·cases·where·authentication·should·be·disabled,·e.g.·only·allowing·access |   | 
| 1441  | #··via·API·tokens. | 1428  | #··By·default,·any·username·+·password·is·allowed·If·a·non-empty·password·is·set, | 
|   | 1429  | #··any·username·will·be·allowed·if·it·logs·in·with·that·password. | 
| 1442  | #·· | 1430  | #·· | 
| 1443  | #··..·versionadded::·2.0 | 1431  | #··..·versionadded::·1.0 | 
|   | 1432  | #·· | 
|   | 1433  | #··..·versionadded::·5.0 | 
|   | 1434  | #······`allow_all`·defaults·to·True, | 
|   | 1435  | #······preserving·default·behavior. | 
|   |   | 
| 
Max diff block lines reached; 23019/28423 bytes (80.99%) of diff not shown.
 |