Sha256: ae1991996561255282c1333296cc330b84f2777aff369b99702d182e04e07bc9

Contents?: true

Size: 572 Bytes

Versions: 1

Compression:

Stored size: 572 Bytes

Contents

require "kotek/auth/version"

module Kotek
  module Auth
    class Error < StandardError; end

    def token(user_id)
      payload = { user_id: user_id }
      JWT.encode(payload, hmac_secret, 'HS256')
    end

    def hmac_secret
      ENV["API_SECRET_KEY"]
    end

    def current_user
      begin
        token = request.headers["Authorization"]
        decoded_array = JWT.decode(token, hmac_secret, true, { algorithm: 'HS256' })
        payload = decoded_array.first
        User.find(payload["user_id"])
      rescue
        return nil
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
kotek-auth-0.3.0 lib/kotek/auth.rb