original_docstring: Hook for handling actions that occur after a user is
      authenticated but before setting them as the current user.
  
      This could be used to handle MFA. However, these calls will
      be blocking and should be taken into account.
  
      Responses from this hook are not considered at all. If a hook
      should need to prevent the user from logging in, it should
      register itself as tryfirst and raise a
      :class:`flaskbb.core.exceptions.StopAuthentication`
      and include why the login was prevented.
  
      See also:
      :class:`PostAuthenticationHandler<flaskbb.core.auth.PostAuthenticationHandler>`
  
      Example::
  
          def post_auth(user):
              today = utcnow()
              if is_anniversary(today, user.date_joined):
                  flash(_("Happy registerversary!"))
  
          @impl
          def flaskbb_post_authenticate(user):
              post_auth(user)
      
docstring: Hook for handling actions that occur after a user is
  authenticated but before setting them as the current user.
  
  This could be used to handle MFA. However, these calls will
  be blocking and should be taken into account.
  
  Responses from this hook are not considered at all. If a hook
  should need to prevent the user from logging in, it should
  register itself as tryfirst and raise a
docstring_tokens: Hook for handling actions that occur after a user is authenticated but before setting them as the current user . This could be used to handle MFA . However these calls will be blocking and should be taken into account . Responses from this hook are not considered at all . If a hook should need to prevent the user from logging in it should register itself as tryfirst and raise a
code: def flaskbb_post_authenticate(user):
      """Hook for handling actions that occur after a user is
      authenticated but before setting them as the current user.
  
      This could be used to handle MFA. However, these calls will
      be blocking and should be taken into account.
  
      Responses from this hook are not considered at all. If a hook
      should need to prevent the user from logging in, it should
      register itself as tryfirst and raise a
      :class:`flaskbb.core.exceptions.StopAuthentication`
      and include why the login was prevented.
  
      See also:
      :class:`PostAuthenticationHandler<flaskbb.core.auth.PostAuthenticationHandler>`
  
      Example::
  
          def post_auth(user):
              today = utcnow()
              if is_anniversary(today, user.date_joined):
                  flash(_("Happy registerversary!"))
  
          @impl
          def flaskbb_post_authenticate(user):
              post_auth(user)
      """
code_tokens: def flaskbb_post_authenticate ( user ) :
short_docstring: Hook for handling actions that occur after a user is
  authenticated but before setting them as the current user.
short_docstring_tokens: Hook for handling actions that occur after a user is authenticated but before setting them as the current user .
comment: """Hook for handling actions that occur after a user is
      authenticated but before setting them as the current user.
  
      This could be used to handle MFA. However, these calls will
      be blocking and should be taken into account.
  
      Responses from this hook are not considered at all. If a hook
      should need to prevent the user from logging in, it should
      register itself as tryfirst and raise a
      :class:`flaskbb.core.exceptions.StopAuthentication`
      and include why the login was prevented.
  
      See also:
      :class:`PostAuthenticationHandler<flaskbb.core.auth.PostAuthenticationHandler>`
  
      Example::
  
          def post_auth(user):
              today = utcnow()
              if is_anniversary(today, user.date_joined):
                  flash(_("Happy registerversary!"))
  
          @impl
          def flaskbb_post_authenticate(user):
              post_auth(user)
      """