def CheckAuthRequest.from_query(query)
assoc_handle = query['openid.assoc_handle']
sig = query['openid.sig']
signed = query['openid.signed']
invalidate_handle = query['openid.invalidate_handle']
unless assoc_handle and sig and signed
raise ProtocolError.new(query,
"#{@mode} request missing required paramter")
end
signed = signed.split(',')
signed_pairs = []
signed.each do |field|
if field == 'mode'
value = 'id_res'
else
value = query['openid.'+field]
if value.nil?
raise ProtocolError.new(query, "Couldn't find signed field #{field}")
end
end
signed_pairs << [field, value]
end
return new(assoc_handle, sig, signed_pairs, invalidate_handle)
end