add auth token for users

3-1-stable
Nihad Abbasov 2011-11-15 11:08:05 +04:00
parent 8d74123d61
commit 003bf61258
5 changed files with 19 additions and 7 deletions

View File

@ -1,7 +1,7 @@
class User < ActiveRecord::Base
# Include default devise modules. Others available are:
# :token_authenticatable, :encryptable, :confirmable, :lockable, :timeoutable and :omniauthable
devise :database_authenticatable,
devise :database_authenticatable, :token_authenticatable,
:recoverable, :rememberable, :trackable, :validatable
# Setup accessible (or protected) attributes for your model
@ -25,6 +25,7 @@ class User < ActiveRecord::Base
:foreign_key => :assignee_id,
:dependent => :destroy
before_create :ensure_authentication_token
scope :not_in_project, lambda { |project| where("id not in (:ids)", :ids => project.users.map(&:id) ) }
def identifier

View File

@ -158,11 +158,11 @@ Devise.setup do |config|
# ==> Configuration for :token_authenticatable
# Defines name of the authentication token params key
# config.token_authentication_key = :auth_token
config.token_authentication_key = :private_token
# If true, authentication through token does not store user in session and needs
# to be supplied on each request. Useful if you are using the token as API token.
# config.stateless_token = false
config.stateless_token = true
# ==> Scopes configuration
# Turn scoped views on. Before rendering "sessions/new", it will first check for

View File

@ -0,0 +1,5 @@
class AddAuthenticationTokenToUsers < ActiveRecord::Migration
def change
add_column :users, :authentication_token, :string
end
end

View File

@ -11,7 +11,7 @@
#
# It's strongly recommended to check this file into your version control system.
ActiveRecord::Schema.define(:version => 20111111093150) do
ActiveRecord::Schema.define(:version => 20111115063954) do
create_table "issues", :force => true do |t|
t.string "title"
@ -103,6 +103,7 @@ ActiveRecord::Schema.define(:version => 20111111093150) do
t.string "skype", :default => "", :null => false
t.string "linkedin", :default => "", :null => false
t.string "twitter", :default => "", :null => false
t.string "authentication_token"
end
add_index "users", ["email"], :name => "index_users_on_email", :unique => true

View File

@ -19,15 +19,20 @@ describe User do
user.identifier.should == "test_mail.com"
end
it "should have authentication token" do
user = Factory(:user)
user.authentication_token.should_not == ""
end
describe "dependent" do
before do
before do
@user = Factory :user
@note = Factory :note,
@note = Factory :note,
:author => @user,
:project => Factory(:project)
end
it "should destroy all notes with user" do
it "should destroy all notes with user" do
Note.find_by_id(@note.id).should_not be_nil
@user.destroy
Note.find_by_id(@note.id).should be_nil