{"record":{"id":"c4e17541b23f6100","repo":"theforeman/foreman","slug":"too-many-tries-please-try-again-in-a-few-minutes","errorCode":null,"errorMessage":"Too many tries, please try again in a few minutes.","messagePattern":"Too many tries, please try again in a few minutes\\.","errorType":"exception","errorClass":"GraphQL::ExecutionError","httpStatus":null,"severity":"error","filePath":"app/graphql/mutations/sign_in_user.rb","lineNumber":22,"sourceCode":"  class SignInUser < BaseMutation\n    null true\n\n    argument :username, String, required: true\n    argument :password, String, required: true\n\n    field :token, String, null: false\n    field :user, Types::User, null: false\n\n    def resolve(username:, password:)\n      return unless username && password\n\n      bruteforce_protection = Foreman::BruteforceProtection.new(\n        request_ip: context[:request_ip]\n      )\n\n      if bruteforce_protection.bruteforce_attempt?\n        bruteforce_protection.log_bruteforce\n        raise GraphQL::ExecutionError, _('Too many tries, please try again in a few minutes.')\n      end\n\n      user = User.try_to_login(username, password)\n\n      unless user\n        Rails.logger.warn(\"Failed login attempt from #{context['request_ip']} with username '#{username}'.\")\n        bruteforce_protection.count_login_failure\n        return\n      end\n\n      {\n        token: user.jwt_token!,\n        user: user,\n      }\n    end\n  end\nend\n","sourceCodeStart":4,"sourceCodeEnd":40,"githubUrl":"https://github.com/theforeman/foreman/blob/6b05625475cfe6aac31a88f8c8ee6e62e4efe620/app/graphql/mutations/sign_in_user.rb#L4-L40","documentation":"Error \"Too many tries, please try again in a few minutes.\" thrown in theforeman/foreman.","triggerScenarios":"Thrown at app/graphql/mutations/sign_in_user.rb:22 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"6b05625475cfe6aac31a88f8c8ee6e62e4efe620","analyzedAt":"2026-08-23T17:46:34.094Z","schemaVersion":2},"datasetVersion":"2026-08-23T21:17:23.414Z"}