Skip to content
This repository has been archived by the owner on Jun 10, 2022. It is now read-only.

Latest commit

 

History

History
29 lines (21 loc) · 1.11 KB

README.rdoc

File metadata and controls

29 lines (21 loc) · 1.11 KB

GoogleIDToken

GoogleIDToken currently provides a single useful class “Validator”, which provides a single method “#check”, which parses and validates an ID Token allegedly generated by Google auth servers.

Creating a new validator takes a single optional hash argument. If the hash has an entry for :x509_key, that value is taken to be a key as created by OpenSSL::X509::Certificate.new, and the token is validated using that key. If there is no such entry, the keys are fetched from the Google certs endpoint www.googleapis.com/oauth2/v1/certs.

Installation

gem install google-id-token

Examples

validator = GoogleIDToken::Validator.new
jwt = validator.check(token, required_audience, required_client_id)
if jwt
  email = jwt['email']
else
  report "Cannot validate: #{validator.problem}"
end

cert = OpenSSL::X509::Certificate.new(File.read('my-cert.pem'))
validator = GoogleIDToken::Validator.new(:x509_cert => cert)
jwt = validator.check(token, required_audience, required_client_id)
if jwt
  email = jwt['email']
else
  report "Cannot validate: #{validator.problem}"
end