4

(デフォルトの AdminUser モデルではなく) User モデルを使用する 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

config/routes.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」フィールドが送信される理由がわかりません。このリストはどのように変更できますか?

4

1 に答える 1