#!/usr/bin/ruby require "cgi" require "rotp" totp = ROTP::TOTP.new("<%= @totp_key %>", :interval => 3600) STDIN.each_line do |header| cookies = CGI::Cookie.parse(header.chomp) if cookie = cookies.fetch("_osm_totp_token", nil) if totp.verify(cookie.value.first, :drift_behind => 3600, :drift_ahead => 3600) STDOUT.syswrite("1\n") else STDOUT.syswrite("0\n") end else STDOUT.syswrite("0\n") end end exit 0