I am implementing a MultiAuthenticator for a site that will use Jupyter to host training materials. Since adoption is desired, social authentication will be desired, and so we will have more than one way to authenticate socially.
That said, I think I've figured out what I did not understand - traitlets. I somehow took traitlets.config.Application to be the tornado.web.Application, and that confused thoroughly. Now it is clear - the web application is initialized rather late, and since the init_handlers method calls h.extend(self.authenticator.get_handlers(self)), I simply return additional handlers that way. >From the structure of the code, it is pretty clear that each "handler" in that list should be a tuple of pattern and handler, and this is confirmed by the implementation of jupyterhub.auth.Authenticator. I've even checked that this basic structure doesn't change with jupyterhub 0.9.0.dev, which maybe I should be using. -- You received this message because you are subscribed to the Google Groups "Project Jupyter" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/jupyter/6a7dcf06-ac67-4b96-bb70-d7eb841ffc2a%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
