code: def verify_signature(self, signature):
          
  
          devices   = [DeviceRegistration.wrap(device) for device in self.__get_u2f_devices()]
          challenge = session.pop('_u2f_challenge_')
  
          try:
              counter, touch = verify_authenticate(devices, challenge, signature, self.__facets_list)
          except Exception as e:
              if self.__call_fail_sign:
                  self.__call_fail_sign(e)
  
              return {
                  'status':'failed', 
                  'error': 'Invalid signature!'
              }
          finally:
              pass
  
          if self.verify_counter(signature, counter):
              self.__call_success_sign()
              self.disable_sign()
              
              return {
                  'status'  : 'ok',
                  'counter' : counter,
                  'message': 'Successfully verified your second factor!'
              }
  
  
          else:
              if self.__call_fail_sign:
                  self.__call_fail_sign()
  
              return {
                  'status':'failed', 
                  'error': 'Device clone detected!'
              }
docs: Verifies signature