2i2c have been working with the University of Toronto to add support for logging in to a JupyterHub using Canvas as an Identity Provider. JupyterHub implements support for authenticating users (figuring out who there are) and authorizing users (figuring out whether they are permitted to log into the hub) using an Authenicator interface.