module ActionController::HttpAuthentication::Digest

def validate_nonce(secret_key, request, value, seconds_to_timeout = 5 * 60)

username and password.
allow a user to use new nonce without prompting the user again for their
Can be much shorter if the Stale directive is implemented. This would
is a PATCH, PUT, or POST, and if the client is a browser or web service.
Might want a shorter timeout depending on whether the request
def validate_nonce(secret_key, request, value, seconds_to_timeout = 5 * 60)
  return false if value.nil?
  t = ::Base64.decode64(value).split(":").first.to_i
  nonce(secret_key, t) == value && (t - Time.now.to_i).abs <= seconds_to_timeout
end