    async def run_post_auth_hook(self, handler, auth_model):
        """
        Run the post_auth_hook if defined

        .. versionadded: 1.0

        Args:
            handler (tornado.web.RequestHandler): the current request handler
            auth_model (dict): User authentication data dictionary. Contains the
                username ('name'), admin status ('admin'), and auth state dictionary ('auth_state').
        Returns:
            auth_model (dict):
                The hook must always return the auth_model dict
        """
        if self.post_auth_hook is not None:
            auth_model = await maybe_future(
                self.post_auth_hook(self, handler, auth_model)
            )
        return auth_model
Run the post_auth_hook if defined

.. versionadded: 1.0

Args:
handler (tornado.web.RequestHandler): the current request handler
auth_model (dict): User authentication data dictionary. Contains the
username ('name'), admin status ('admin'), and auth state dictionary ('auth_state').
Returns:
auth_model (dict):
The hook must always return the auth_model dict
jupyterhub/auth.py