class_docstr: This mixin adds the expected Tornado authorization hooks:
  
  * get_login_url
  * get_current_user
  * prepare
  
  All of these delegate to the a :class:`~bokeh.serve.auth_provider.AuthProvider`
  confiured on the Bokeh tornado application.
class_docstr_tok: ["This","mixin","adds","the","expected","Tornado","authorization","hooks",":","*","get_login_url","*","get_current_user","*","prepare","All","of","these","delegate","to","the","a",":","class",":","`","~bokeh.serve.auth_provider.AuthProvider","`","confiured","on","the","Bokeh","tornado","application","."]
docstr: Delegate to the synchronous ``get_user`` method of the auth
  provider
docstr_tok: ["Delegate","to","the","synchronous","``","get_user","``","method","of","the","auth","provider"]
code: def get_current_user(self):
      """Delegate to the synchronous ``get_user`` method of the auth
      provider
  
      """
      if self.application.auth_provider.get_user is not None:
          return self.application.auth_provider.get_user(self)
      return "default_user"
  
imports: from __future__ import annotations
  import logging
  from tornado.web import RequestHandler
label_desc: Use image node_id 2 for calling the AuthRequestHandler obj's underlying member method code with example usage: obj.get_current_user() and returns: str, self