Sha256: 106c912333000b6cc496a9ed8bcd7e1c2ab4d20d552cd2729fe26682df5d364b

Contents?: true

Size: 807 Bytes

Versions: 3

Compression:

Stored size: 807 Bytes

Contents

module DeviseTokens
  class TokenValidationsController < DeviseTokens::ApplicationController
    skip_before_action :assert_is_devise_resource!, only: [:validate_token]
    before_action :set_user_by_token, only: [:validate_token]

    def validate_token
      # @resource will have been set by set_user_by_token concern
      if @resource
        yield @resource if block_given?
        render_validate_token_success
      else
        render_validate_token_error
      end
    end

    protected

    def render_validate_token_success
      render json: {
        success: true,
        data: resource_data(resource_json: @resource.token_validation_response)
      }
    end

    def render_validate_token_error
      render_error(401, I18n.t('devise_tokens.token_validations.invalid'))
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
devise-tokens-1.0.3 app/controllers/devise_tokens/token_validations_controller.rb
devise-tokens-1.0.2 app/controllers/devise_tokens/token_validations_controller.rb
devise-tokens-1.0.1 app/controllers/devise_tokens/token_validations_controller.rb