我有一个使用 User 模型(而不是默认的 AdminUser 模型)的 ActiveAdmin 应用程序。用户具有角色(空白或管理员)
应用程序/模型/user.rb:
class User < ActiveRecord::Base
devise :database_authenticatable,
:recoverable, :rememberable, :trackable, :validatable,
:token_authenticatable
attr_accessible :email, :password, :password_confirmation, :remember_me, :role
has_and_belongs_to_many :groups
has_many :items, :through => :groups
before_save :ensure_authentication_token
def is_admin?
@role.eql?("admin") ? true : false
end
end
配置/路由.rb:
Lao::Application.routes.draw do
ActiveAdmin.routes(self)
devise_for :users, ActiveAdmin::Devise.config
end
在 DeviseCreateUser 迁移中,我添加了:
## Token authenticatable
t.string :authentication_token
如果我通过以下 HTTP POST 请求登录:
curl -H 'Content-Type: application/json' -H 'Accept: application/json' -XPOST http://localhost:3000/admin/login.json -d '{"user" : {"email" : "user@email.com", "password" : "password"}}'
我没有获得身份验证令牌:
=> {"created_at":"2013-04-17T17:11:38Z","email":"user@email.com","id":2,"role":null,"updated_at":"2013-04-17T17:53:37Z"}
如何在响应中获取身份验证令牌?我不知道为什么“created_at”、“email”、“id”、“role”和“updated_at”字段是发送出去的。如何更改此列表?