{"record":{"id":"ea012a45eb591ac3","repo":"ruby/rubygems","slug":"security-device-verification-failed-provided-miss","errorCode":null,"errorMessage":"Security device verification failed: Provided missing credentials","messagePattern":"Security device verification failed: Provided missing credentials","errorType":"exception","errorClass":"Gem::WebauthnVerificationError","httpStatus":null,"severity":"error","filePath":"lib/rubygems/gemcutter_utilities/webauthn_poller.rb","lineNumber":75,"sourceCode":"            return parsed_response[\"code\"]\n          else\n            raise Gem::WebauthnVerificationError, parsed_response.fetch(\"message\", \"Invalid response from server\")\n          end\n        end\n      end\n    end\n\n    private\n\n    def webauthn_verification_poll_response(webauthn_url, credentials)\n      webauthn_token = %r{(?<=\\/)[^\\/]+(?=$)}.match(webauthn_url)[0]\n      rubygems_api_request(:get, \"api/v1/webauthn_verification/#{webauthn_token}/status.json\") do |request|\n        if credentials.empty?\n          request.add_field \"Authorization\", api_key\n        elsif credentials[:identifier] && credentials[:password]\n          request.basic_auth credentials[:identifier], credentials[:password]\n        else\n          raise Gem::WebauthnVerificationError, \"Provided missing credentials\"\n        end\n      end\n    end\n  end\nend\n","sourceCodeStart":57,"sourceCodeEnd":81,"githubUrl":"https://github.com/ruby/rubygems/blob/86cbb817a38ce8477b181c17467a703ded3f2be8/lib/rubygems/gemcutter_utilities/webauthn_poller.rb#L57-L81","documentation":"Error \"Security device verification failed: Provided missing credentials\" thrown in ruby/rubygems.","triggerScenarios":"Thrown at lib/rubygems/gemcutter_utilities/webauthn_poller.rb:75 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Touch the security device when prompted so it can provide credentials","Register the security key with `gem signin` / your rubygems.org account and retry"],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"86cbb817a38ce8477b181c17467a703ded3f2be8","analyzedAt":"2026-08-23T06:27:48.159Z","schemaVersion":2},"datasetVersion":"2026-08-23T08:06:27.607Z"}