/nativeauthenticator

JupyterHub-native User Authenticator https://native-authenticator.readthedocs.io/en/latest/

Primary LanguagePythonBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

Native Authenticator

Latest PyPI version Documentation build status GitHub Workflow Status - Test Code coverage
GitHub Discourse Gitter Contribute

This is a relatively simple authenticator for small or medium-sized JupyterHub applications. Signup and authentication are implemented as native to JupyterHub without relying on external services.

NativeAuthenticator provides the following features:

  • New users can signup on the system;
  • New users can be blocked from accessing the system awaiting admin authorization;
  • Option of enforcing password security by disallowing common passwords or requiring a minimum password length;
  • Option to block users after a set number of failed login attempts;
  • Option of open signup without need for initial authorization;
  • Option of asking more information about users on signup (e-mail).
  • Option of requiring users to agree with given Terms of Service;
  • Option of protection against scripting attacks via reCAPTCHA;
  • Option for users with an org-internal e-mail address to self-approve via secure link;

Documentation

The latest documentation is always on readTheDocs, available here.

Running tests

To run the tests locally, you can install the development dependencies like so:

pip install -r dev-requirements.txt

Then run tests with pytest:

pytest