class FirebaseAuth::IDTokenVerifier

Constants

JWT_OPTIONS

Public Class Methods

new(public_keys) click to toggle source
# File lib/firebase_auth/id_token_verifier.rb, line 5
def initialize(public_keys)
  @public_keys = public_keys
end

Public Instance Methods

verify(id_token) click to toggle source
# File lib/firebase_auth/id_token_verifier.rb, line 9
def verify(id_token)
  kid = JWT.decode(id_token, nil, false).last['kid'] rescue nil
  decode_jwt(id_token, @public_keys.look_up(kid))
end

Private Instance Methods

decode_jwt(id_token, x509) click to toggle source
# File lib/firebase_auth/id_token_verifier.rb, line 16
def decode_jwt(id_token, x509)
  JWT.decode(id_token, x509.public_key, true, JWT_OPTIONS) rescue nil
end