Sha256: 5aeeb9c17efd358dce262979387206cde177b0294e2973534b2038aaa2f36c91

Contents?: true

Size: 1.13 KB

Versions: 16

Compression:

Stored size: 1.13 KB

Contents

class Ishapi::Users::SessionsController < Devise::SessionsController
  skip_before_action :verify_authenticity_token

  def create
    self.resource = warden.authenticate!(auth_options)
    set_flash_message!(:notice, :signed_in)
    sign_in(resource_name, resource)
    yield resource if block_given?
    # respond_with resource, location: after_sign_in_path_for(resource)

    ## Send the jwt to client
    @current_user = resource
    @current_profile = Ish::UserProfile.find_by({ email: @current_user.email })
    @jwt_token = encode(user_profile_id: @current_profile.id.to_s)
    render 'ishapi/user_profiles/login', format: :json, layout: false
  end

  private

  ## copy-pasted from application_controller
  ## jwt
  def decode(token)
    decoded = JWT.decode(token, Rails.application.secrets.secret_key_base.to_s)[0]
    HashWithIndifferentAccess.new decoded
  end

  ## copy-pasted from application_controller
  ## jwt
  def encode(payload, exp = 48.hours.from_now) # @TODO: definitely change, right now I expire once in 2 days.
    payload[:exp] = exp.to_i
    JWT.encode(payload, Rails.application.secrets.secret_key_base.to_s)
  end


end

Version data entries

16 entries across 16 versions & 1 rubygems

Version Path
ishapi-0.1.8.212 app/controllers/ishapi/users/sessions_controller.rb
ishapi-0.1.8.211 app/controllers/ishapi/users/sessions_controller.rb
ishapi-0.1.8.210 app/controllers/ishapi/users/sessions_controller.rb
ishapi-0.1.8.209 app/controllers/ishapi/users/sessions_controller.rb
ishapi-0.1.8.208 app/controllers/ishapi/users/sessions_controller.rb
ishapi-0.1.8.206 app/controllers/ishapi/users/sessions_controller.rb
ishapi-0.1.8.205 app/controllers/ishapi/users/sessions_controller.rb
ishapi-0.1.8.204 app/controllers/ishapi/users/sessions_controller.rb
ishapi-0.1.8.203 app/controllers/ishapi/users/sessions_controller.rb
ishapi-0.1.8.202 app/controllers/ishapi/users/sessions_controller.rb
ishapi-0.1.8.201 app/controllers/ishapi/users/sessions_controller.rb
ishapi-0.1.8.200 app/controllers/ishapi/users/sessions_controller.rb
ishapi-0.1.8.199 app/controllers/ishapi/users/sessions_controller.rb
ishapi-0.1.8.197 app/controllers/ishapi/users/sessions_controller.rb
ishapi-0.1.8.196 app/controllers/ishapi/users/sessions_controller.rb
ishapi-0.1.8.195 app/controllers/ishapi/users/sessions_controller.rb