No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Convierte tus certificados en títulos universitarios en USA

Antes: $249

Currency
$209

Paga en 4 cuotas sin intereses

Paga en 4 cuotas sin intereses
Suscríbete

Termina en:

18 Días
16 Hrs
41 Min
5 Seg

Introducción a la autenticación con Tokens

20/33
Recursos

Aportes 5

Preguntas 2

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

¿Estaría mal implementado si en lugar de crear el concern secured.rb se agregara como un método privado en el application_controller.rb?:

class ApplicationController < ActionController::API

  private

    def authenticate_user!
      token_regex = /Bearer (\w+)/
      headers = request.headers
      if headers['Authorization'].present? && headers['Authorization'].match(token_regex)
        token = headers['Authorization'].match(token_regex)[1]
        if(Current.user = User.find_by_auth_token(token))
          return
        end
      end
      render json: {error: 'Unauthorized'}, status: :unauthorized
    end
end

De igual manera se agregaría en el controlador que sea necesario el before_action :authenticate_user!, ... logrando lo mismo. 🤔

Excelente explicación.

En el minuto 7:00 cuando se usa byebug he encontrado que no es necesario realizar el require 'byebug' para su uso.

Para quienes como yo quedaron con la duda sobre rails dev:cache. Este comando crea un archivo llamado tmp/caching-dev.txt, que luego es verificado sí existe por el archivo de configuración config/environments/development.rb de la siguiente manera:

...
  # Enable/disable caching. By default caching is disabled.
  # Run rails dev:cache to toggle caching.
  if Rails.root.join('tmp', 'caching-dev.txt').exist?
    config.action_controller.perform_caching = true

    config.cache_store = :memory_store
    config.public_file_server.headers = {
      'Cache-Control' => "public, max-age=#{2.days.to_i}"
    }
  else
    config.action_controller.perform_caching = false

    config.cache_store = :null_store
  end
....

Como se puede apreciar, al no existir el archivo tmp/caching-dev.txt, la cache estaba desactivada (config.cache_store = :null_store) por default.

El usar un autentificador es bueno pero no limitaría a los usuarios únicamente a usar ese servicio en espesifco? seria bueno que esa fuera una de varias formas de hacer login y usar un manejado de sesiones como CASino