Sha256: 19d65e058722779eada290913d590e77920d92e7c03ce7d4d04e1245ec171f64

Contents?: true

Size: 544 Bytes

Versions: 1

Compression:

Stored size: 544 Bytes

Contents

require 'jwt'

module OpenIDConnect
  class ResponseObject
    class IdToken < ResponseObject
      attr_required :iss, :user_id, :aud, :exp
      attr_optional :iso29115, :nonce, :issued_to, :secret

      def to_jwt
        raise Exception.new('Secret Required') unless secret
        JWT.encode as_json, secret
      end

      def self.from_jwt(jwt, secret)
        new JWT.decode(jwt, secret).with_indifferent_access.merge(:secret => secret)
      end

      private

      def hidden_attributes
        :secret
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
openid_connect-0.0.5 lib/openid_connect/response_object/id_token.rb