Sha256: 79489458420a947ab047ee4aaf40405e3ece6635c5ec40085c9a89aa369562f4
Contents?: true
Size: 758 Bytes
Versions: 11
Compression:
Stored size: 758 Bytes
Contents
require "jwt" module ScimRails module Encoder extend self def encode(company) payload = { iat: Time.current.to_i, ScimRails.config.basic_auth_model_searchable_attribute => company.public_send(ScimRails.config.basic_auth_model_searchable_attribute) } JWT.encode(payload, ScimRails.config.signing_secret, ScimRails.config.signing_algorithm) end def decode(token) verify = ScimRails.config.signing_algorithm != ScimRails::Config::ALGO_NONE JWT.decode(token, ScimRails.config.signing_secret, verify, algorithm: ScimRails.config.signing_algorithm).first rescue JWT::VerificationError, JWT::DecodeError raise ScimRails::ExceptionHandler::InvalidCredentials end end end
Version data entries
11 entries across 11 versions & 2 rubygems