我有Devise的Rails应用程序,它有iOS应用程序的登录API
用户模型是值得记住的
我的iOS应用程序使用webview将rails app视为网站,
所以
我想从登录API返回用户的 remember_user_token (在Web浏览器上,设计似乎将其自动设置为Cookie)。
在登录API中,我想获得 remember_user_token ,但我不知道如何操作。
user.remember_token
是20个字符,但在网络浏览器中,Cookie中的 remember_user_token 为114个字符。看来他们很难 设计或Rails加密令牌?
我的应用代码在这里。
# Table name: users
# remember_created_at :datetime
# remember_token :string(255)
class User < ActiveRecord::Base
devise :database_authenticatable, :encryptable, :rememberable, :confirmable, :trackable, :recoverable, :timeoutable
end
module Api
class SessionsController < Devise::SessionsController
layout false
skip_before_action :verify_authenticity_token
def create
catch(:warden) do
self.resource = warden.authenticate!
sign_in(resource_name, resource)
render json: { remember_user_token: remember_user_token }
return
end
render json: { error: "error message" }
end
end
end
任何建议都会得到满足 谢谢!