add auth token for users
This commit is contained in:
parent
8d74123d61
commit
003bf61258
5 changed files with 19 additions and 7 deletions
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -0,0 +1,5 @@
|
|||
class AddAuthenticationTokenToUsers < ActiveRecord::Migration
|
||||
def change
|
||||
add_column :users, :authentication_token, :string
|
||||
end
|
||||
end
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in a new issue