Can Jupyter Notebook/Lab have custom authentication?

Hi everyone. For Jupyter Notebook or JupyterLab (and tornado), can I build my own custom authenticator? For example, in my environment, I have my own authentication service I want to integrate with. Users will have a token from this service. As a result, when a user then accesses their Notebook with this token, I want to have custom code to validate this token. This is not really related to using a Notebook password/token for access, but authenticating requests at the tornado level.