docs: def assert_credentials_match(self, verifier, authc_token, account):
          """
          :type verifier: authc_abcs.CredentialsVerifier
          :type authc_token: authc_abcs.AuthenticationToken
          :type account:  account_abcs.Account
          :returns: account_abcs.Account
          :raises IncorrectCredentialsException:  when authentication fails,
                                                  including unix epoch timestamps
                                                  of recently failed attempts
          """
          cred_type = authc_token.token_info['cred_type']
  
          try:
              verifier.verify_credentials(authc_token, account['authc_info'])
          except IncorrectCredentialsException:
              updated_account = self.update_failed_attempt(authc_token, account)
  
              failed_attempts = updated_account['authc_info'][cred_type].\
                  get('failed_attempts', [])
  
              raise IncorrectCredentialsException(failed_attempts)
          except ConsumedTOTPToken:
              account['authc_info'][cred_type]['consumed_token'] = authc_token.credentials
              self.cache_handler.set(domain='authentication:' + self.name,
                                     identifier=authc_token.identifier,
                                     value=account)