2i2c have been working with the University of Toronto to add support for Canvas as a supported identity provider for JupyterHub. Out of the box, JupyterHub implements support for authenticating users (figuring out who they are) and authorizing users (figuring out whether they are permitted to log into the hub) using an Authenticator interface.