Sha256: 93519db53c597669c55c58733728bc6b00310dcba6e49d179823b7afb25428b2

Contents?: true

Size: 950 Bytes

Versions: 33

Compression:

Stored size: 950 Bytes

Contents

require 'json'

module RailsBase::Authentication
	class SessionTokenVerifier < RailsBase::ServiceBase
		delegate :mfa_randomized_token, to: :context
		delegate :purpose, to: :context

		def call
			if mfa_randomized_token.nil?
				context.fail!(message: "Authorization token not present. Please Log in")
			end

			decoded = RailsBase::Encryption.decode(value: mfa_randomized_token, purpose: purpose || Constants::MSET_PURPOSE)
			if decoded.nil?
				context.fail!(message: "Authorization token has expired. Please Log in")
			end

			begin
				json_decoded = JSON.parse(decoded)
			rescue StandardError => e
				log(level: :fatal, msg: "Json parse error. [#{decoded}] could not be parsed.")
				context.fail!(message: "Authorization token has failed. Please Log in")
			end

			log(level: :info, msg: "Decoded message: #{json_decoded}")

			context.user_id = json_decoded['user_id']
			context.expires_at = json_decoded['expires_at']
		end
	end
end

Version data entries

33 entries across 33 versions & 1 rubygems

Version Path
rails_base-0.82.0 app/services/rails_base/authentication/session_token_verifier.rb
rails_base-0.81.1 app/services/rails_base/authentication/session_token_verifier.rb
rails_base-0.81.0 app/services/rails_base/authentication/session_token_verifier.rb
rails_base-0.80.0 app/services/rails_base/authentication/session_token_verifier.rb
rails_base-0.75.6 app/services/rails_base/authentication/session_token_verifier.rb
rails_base-0.75.5 app/services/rails_base/authentication/session_token_verifier.rb
rails_base-0.75.4 app/services/rails_base/authentication/session_token_verifier.rb
rails_base-0.75.3 app/services/rails_base/authentication/session_token_verifier.rb
rails_base-0.75.2 app/services/rails_base/authentication/session_token_verifier.rb
rails_base-0.75.1 app/services/rails_base/authentication/session_token_verifier.rb
rails_base-0.75.0 app/services/rails_base/authentication/session_token_verifier.rb
rails_base-0.74.0 app/services/rails_base/authentication/session_token_verifier.rb
rails_base-0.73.1 app/services/rails_base/authentication/session_token_verifier.rb
rails_base-0.73.0 app/services/rails_base/authentication/session_token_verifier.rb
rails_base-0.72.1 app/services/rails_base/authentication/session_token_verifier.rb
rails_base-0.72.0 app/services/rails_base/authentication/session_token_verifier.rb
rails_base-0.71.0 app/services/rails_base/authentication/session_token_verifier.rb
rails_base-0.70.1.pre app/services/rails_base/authentication/session_token_verifier.rb
rails_base-0.70.0 app/services/rails_base/authentication/session_token_verifier.rb
rails_base-0.61.0 app/services/rails_base/authentication/session_token_verifier.rb