instance method
Gem::GemcutterUtilities::WebauthnPoller#poll_for_otp
poll_for_otp(webauthn_url, credentials)
lib/rubygems/gemcutter_utilities/webauthn_poller.rb
View on GitHub ↗
# File tmp/rubies/ruby-4.0.0/lib/rubygems/gemcutter_utilities/webauthn_poller.rb, line 45
def poll_for_otp(webauthn_url, credentials)
Gem::Timeout.timeout(TIMEOUT_IN_SECONDS) do
loop do
response = webauthn_verification_poll_response(webauthn_url, credentials)
raise Gem::WebauthnVerificationError, response.message unless response.is_a?(Gem::Net::HTTPSuccess)
require "json"
parsed_response = JSON.parse(response.body)
case parsed_response["status"]
when "pending"
sleep 5
when "success"
return parsed_response["code"]
else
raise Gem::WebauthnVerificationError, parsed_response.fetch("message", "Invalid response from server")
end
end
end
end
No documentation available