Sha256: dd2f1bf657351867b561902a24487a926ec188133120a4e4be003afbbcf8cc95
Contents?: true
Size: 722 Bytes
Versions: 36
Compression:
Stored size: 722 Bytes
Contents
module QuizApiClient::Services class JwtService extend Forwardable HASHING_ALGORITHM = 'HS512'.freeze attr_reader :config def_delegators :config, :host, :protocol, :consumer_key def initialize(config) @config = config end def grant_permission(scope:, exp: nil, uuid: nil, **additional_fields) payload = { host: URI.parse("#{protocol}://#{host}").host, consumer_key: consumer_key, scope: scope, exp: exp || Time.now.utc.to_i + 60, **additional_fields } if uuid payload[:user] ||= {} payload[:user][:uuid] = uuid end JWT.encode(payload, config.shared_secret, HASHING_ALGORITHM) end end end
Version data entries
36 entries across 36 versions & 1 rubygems