module Persona::Verifier
Constants
- DEFAULT_VERIFIER_URI
Public Class Methods
verify_assertion(assertion, audience, verifier_uri: nil)
click to toggle source
# File lib/sinatra_persona/verifier.rb, line 10 def self.verify_assertion(assertion, audience, verifier_uri: nil) verifier_uri ||= DEFAULT_VERIFIER_URI Net::HTTP.start(verifier_uri.host, verifier_uri.port, use_ssl: true) do |conn| params = {assertion: assertion, audience: audience} verifier_uri.query = URI.encode_www_form(params) request = Net::HTTP::Post.new verifier_uri response = conn.request request if not response.code == '200' or response.body.nil? then return nil end parsed = JSON.parse response.body if parsed['status'] == 'okay' then parsed['email'] else nil end end end