Sha256: eda729482d2f3bae140f804b0d8c7e74ee860619d924826f7a6555e21c3186cf

Contents?: true

Size: 560 Bytes

Versions: 3

Compression:

Stored size: 560 Bytes

Contents

require 'jwt'

module Devise
  module Models
    module TokenAuthenticatable
      extend ActiveSupport::Concern

      def self.required_fields(klass)
        []
      end

      def access_token(remote_ip = nil)
        current_sign_in_at = self.respond_to?(:timedout?) && Time.now.utc
        current_sign_in_ip = self.respond_to?(:current_sign_in_ip) && remote_ip

        Base64.strict_encode64(JWT.encode({ id: id, current_sign_in_at: current_sign_in_at, current_sign_in_ip: current_sign_in_ip }, Devise.secret_key, 'HS256'))
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
devise_token_authenticatable-0.1.3 lib/devise_token_authenticatable/models/token_authenticatable.rb
devise_token_authenticatable-0.1.2 lib/devise_token_authenticatable/models/token_authenticatable.rb
devise_token_authenticatable-0.1.1 lib/devise_token_authenticatable/models/token_authenticatable.rb