разработать токен auth current_user вернуть nil - PullRequest
0 голосов
/ 25 октября 2018

Я хочу получить доступ к current_user в devise aoth token gem, но возвращается ноль или ошибка: "You need to sign in or sign up before continuing."

Я использую пакет redux-token-auth для клиентской стороны, а на стороне клиента выполняется вход и регистрация пользователя.успешно

Но на стороне сервера Rails-api я не могу получить данные current_user

Сервер Rails в порту: 3001 Сервер Clinet в порту: 3000

драгоценные камни:

gem 'devise-i18n'
gem 'devise_token_auth'
gem 'omniauth'
gem 'devise'

Контроллер приложений:

class ApplicationController < ActionController::Base
   include DeviseTokenAuth::Concerns::SetUserByToken
   protect_from_forgery with: :null_session
end

Разработать токен аутентификации

DeviseTokenAuth.setup do |config|
  config.change_headers_on_each_request = false
  config.token_lifespan = 10.day
end

Маршруты:

Rails.application.routes.draw do
  mount_devise_token_auth_for 'User', at: 'auth'
  namespace :api, defaults: { format: :json } do 
    namespace :v1 do 
     resources :wallets , only: [:index, :show]
    end 
  end 
end 

Стойка CROS:

config.middleware.insert_before 0, Rack::Cors do
      allow do
        origins '*'
        resource '*', headers: :any, methods: [:get, :post, :options, :delete, :put]
      end
    end 

1 Ответ

0 голосов
/ 15 декабря 2018

Согласно документации , вы можете включить пространство имен в метод аутентификации:

before_action :authenticate_api_v1_user!

, тогда текущий пользователь будет:

current_api_v1_user
...