Sha256: 19548df15576cac9166dcafb31ee815c6b1deecfe2a394d615ed072aeb4fe8c3

Contents?: true

Size: 1.06 KB

Versions: 95

Compression:

Stored size: 1.06 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?


    ## 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

95 entries across 95 versions & 1 rubygems

Version Path
ishapi-0.1.8.316 app/controllers/ishapi/users/sessions_controller.rb
ishapi-0.1.8.315 app/controllers/ishapi/users/sessions_controller.rb
ishapi-0.1.8.314 app/controllers/ishapi/users/sessions_controller.rb
ishapi-0.1.8.313 app/controllers/ishapi/users/sessions_controller.rb
ishapi-0.1.8.312 app/controllers/ishapi/users/sessions_controller.rb
ishapi-0.1.8.310 app/controllers/ishapi/users/sessions_controller.rb
ishapi-0.1.8.309 app/controllers/ishapi/users/sessions_controller.rb
ishapi-0.1.8.308 app/controllers/ishapi/users/sessions_controller.rb
ishapi-0.1.8.307 app/controllers/ishapi/users/sessions_controller.rb
ishapi-0.1.8.306 app/controllers/ishapi/users/sessions_controller.rb
ishapi-0.1.8.305 app/controllers/ishapi/users/sessions_controller.rb
ishapi-0.1.8.304 app/controllers/ishapi/users/sessions_controller.rb
ishapi-0.1.8.303 app/controllers/ishapi/users/sessions_controller.rb
ishapi-0.1.8.302 app/controllers/ishapi/users/sessions_controller.rb
ishapi-0.1.8.301 app/controllers/ishapi/users/sessions_controller.rb
ishapi-0.1.8.300 app/controllers/ishapi/users/sessions_controller.rb
ishapi-0.1.8.298 app/controllers/ishapi/users/sessions_controller.rb
ishapi-0.1.8.297 app/controllers/ishapi/users/sessions_controller.rb
ishapi-0.1.8.296 app/controllers/ishapi/users/sessions_controller.rb
ishapi-0.1.8.295 app/controllers/ishapi/users/sessions_controller.rb