我有一个具有 2 个子域的 rails 应用程序:
- API (CORS) =>
api.myapp.dev
- 网络应用程序=>
myapp.dev
我只能通过auth_token
使用 Devise 进行用户身份验证后立即返回的 API 访问。但是,我的客户端(网络应用程序)没有设置这些 cookie。我错过了什么吗?
class Api::V1::SessionsController < Api::V1::BaseController
def create
@user = User.find_for_database_authentication(:email => params[:user][:email])
if @user and @user.valid_password?(params[:user][:password])
sign_in @user # Set-Cookie header response with the session
render "api/v1/users/preview", :handlers => :rabl # return auth_token here
else
flash[:error] = I18n.t('devise.failure.invalid')
render "api/v1/base/error", :handlers => :rabl, :status => :unprocessable_entity
end
end
end