code: def try_storage(self, identifier, req, resp, resource, uri_kwargs):
          
          if identifier is None:
              user = None
  
          # note: if user_storage is defined, always use it in order to
          #       authenticate user.
          elif self.user_storage is not None:
              user = self.user_storage.get_user(
                  self, identifier, req, resp, resource, uri_kwargs
              )
  
          # note: some authentication middleware classes may not require
          #       to be initialized with their own user_storage. In such
          #       case this will always authenticate with "syntetic user"
          #       if there is a valid indentity.
          elif self.user_storage is None and not self.only_with_storage:
              user = {
                  'identified_with': self,
                  'identifier': identifier
              }
  
          else:  # pragma: nocover
              # note: this should not happen if the base class is properly
              #       initialized. Still, user can skip super().__init__() call.
              user = None
  
          return user
docs: Try to find user in configured user storage object.
  
          Args:
              identifier: User identifier.
  
          Returns:
              user object.