【发布时间】:2017-10-20 11:42:37
【问题描述】:
我有一个 API,它有一个数据库和另一个没有活动记录的 rails APP,我还使用 ActiveResource 来管理一些数据库查询
我的前端应用控制器是
class ApplicationController < ActionController::Base
protect_from_forgery with: :exception
skip_before_action :verify_authenticity_token
end
我有一个操作来验证从我的前端到 API 的用户
从前端我有这个方法
def create_session
conn = Faraday.new(:url => 'http://localhost:3001')
conn.post '/auth_user', { :email => params[:email], :password => params[:password] }
end
在 API 上
def auth_user
user = User.find_by(email: params[:email])
if user && user.authenticate(params[:password])
conn = Faraday.new(:url => 'http://localhost:3000')
conn.post '/add_session', { :status => "right", :user => user.id }
else
conn = Faraday.new(:url => 'http://localhost:3000')
conn.post '/add_session', { :status => "wrong" }
end
结束
请注意,我可以访问 params[:email] 和 params[:password],并且我可以在前端获得正确的状态
然后在前端内部我无法访问 byebug 上的 params[:status] 或 params[:user] excpet 我试图做 session[:user_id] = params[:user] 但它不工作
我在这里错过了什么?
【问题讨论】: