我希望访问current_user
中的devise aoth token gem
,但返回nil或错误:"You need to sign in or sign up before continuing."
我在客户端使用redux-token-auth软件包,客户端成功登录并注册用户
但是在服务器端Rails-api
中,我无法获取current_user数据
在端口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
Devise Auth令牌
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
答案 0 :(得分:0)
根据documentation,您可以在验证方法中包括名称空间:
before_action :authenticate_api_v1_user!
那么当前用户将是:
current_api_v1_user