aadhar 0.0.11 → 0.0.12

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- ZWFkNzcxYmNlMWNkZmVjZDhhNmFjZDQwZTFlZjM5YzUwZmUwNjg2OA==
4
+ ZTlkMTg0MmZjOGMxMzBlM2Y5NDU3M2EyOTQ4NjBkYjdiYTVkY2EwMg==
5
5
  data.tar.gz: !binary |-
6
- NzM5MTU5OWNiZDc3YWE3YzMxZWJiYjRjYjc4YTdjZmQ5NzFhMDk3ZA==
6
+ ZDA5OTBhZmZmMTVkMTQzOTRlZDUxZmNkNDUzNTU3MmNjYTU3YzM2Ng==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- YmM3NDg0YTQ4MmUwMjBlMTE4ZTc0ZTgzZDRjMTM5MjE0YzIzNmI2NDhmY2Y3
10
- YTA2Njg5Y2E4ODhkYWE5ZTZjNmI2MzhiNDVmN2U1MjAxZDVkNTU5YWU5YzE3
11
- MmExZDA1OGM3OWQ4ZjVkZjZlOWVhYzliZDEyMmIyYzJjYjlmNzA=
9
+ MmJmNjlhMTk1ZGE2ZTE3Y2E2ZWUyMDM3MDNiOTgzZDExYTA2ZDIxNDgyYjZl
10
+ ODBmNDk3NWYxZjhmZTYzOWE1YmQ2MTZkNmFkZWRhYzRlMTAyYWM2MDk0YTZi
11
+ NGNkMjNkNDY2NTk2YWIyY2FhZmViNmY1ZTZkY2UwN2VjNWNhMjI=
12
12
  data.tar.gz: !binary |-
13
- MGQ2YjdjZDk4MDJkNWEyYTdmYzlkN2ExMzQ5MjZmNjUzNGM0NzYxMjdmZTEz
14
- NTNhMzZmZDA2Y2JiYmMyNzIwMzZkMTg1Y2EyOGU2MTZjOGEyNjA1OGMwZWRk
15
- MjNlMjMyMjZlNDNiYzI1YTIwYmZjMTM5ODA1YWY5NjM3NmQ0YzY=
13
+ ZmE3Yjk1YjY4OGM5NjczN2ViOWI1MDYwY2RjYjY5ZWU2ZjQ5ZmVjNDA0MWM5
14
+ MmMxYWM2ODYxN2E4YTc2YWEzNWM2NmUxYTgzMDY4YzM5NGFiZTcwYTk3NDU2
15
+ ZjA1ZjExYWIyNTAwNjU2YTE3MWI2MWVjYjljZDNlZTQyZGE4NDk=
@@ -1,14 +1,15 @@
1
1
  class Aadhar::SessionsController < Aadhar::ApplicationController
2
+ before_filter :authenticate, only: [:destroy]
2
3
 
3
4
  def create
4
5
  user = User.authenticate(params[:email], params[:password])
5
6
  if user
6
- user.save_token
7
+ authentication_token = AuthenticationToken.create_token(user)
7
8
  render :status => 200,
8
9
  :json => { :success => true,
9
10
  :info => "Logged in",
10
11
  :data => {
11
- :auth_token => user.authentication_token,
12
+ :auth_token => authentication_token.token,
12
13
  :user => {
13
14
  id: user.id,
14
15
  email: user.email,
@@ -24,7 +25,8 @@ class Aadhar::SessionsController < Aadhar::ApplicationController
24
25
  end
25
26
 
26
27
  def destroy
27
- current_user.update_column(:authentication_token, nil)
28
+ authentication_token = AuthenticationToken.where(token: params[:auth_token], user_id: current_user.id).first
29
+ authentication_token.destroy
28
30
  render :status => 200,
29
31
  :json => { :success => true,
30
32
  :info => "Logged out",
@@ -5,7 +5,6 @@ class Aadhar::UsersController < Aadhar::ApplicationController
5
5
  @user.set_temporary_password
6
6
  @user.change_password = true
7
7
  if @user.save
8
- #RegistrationEmailJob.set(wait: 20.seconds).perform_later(@user, @user.temp_password)
9
8
  UserMailer.signup_email(@user, @user.temp_password).deliver_later
10
9
  render :status => 200,
11
10
  :json => { :success => true,
@@ -0,0 +1,20 @@
1
+ class AuthenticationToken < ActiveRecord::Base
2
+ belongs_to :user
3
+
4
+ class << self
5
+ def generate_token
6
+ token = loop do
7
+ random_token = SecureRandom.urlsafe_base64(nil, false)
8
+ break random_token unless AuthenticationToken.exists?(token: random_token)
9
+ end
10
+
11
+ return token
12
+ end
13
+
14
+ def create_token(user)
15
+ authentication_token = AuthenticationToken.create!(user_id: user.id, token: generate_token)
16
+ return authentication_token
17
+ end
18
+ end
19
+
20
+ end
data/app/models/user.rb CHANGED
@@ -8,6 +8,8 @@ class User < ActiveRecord::Base
8
8
  validates_presence_of :name
9
9
  validates_uniqueness_of :email
10
10
 
11
+ has_many :authentication_tokens
12
+
11
13
  def self.authenticate(email, password)
12
14
  user = find_by_email(email)
13
15
  if user && user.password_hash == ::BCrypt::Engine.hash_secret(password, user.password_salt)
@@ -38,15 +40,4 @@ class User < ActiveRecord::Base
38
40
  return Array.new(password_length){||lower_alphabets[rand(lower_alphabets.size)]}.join
39
41
  end
40
42
 
41
- def generate_token
42
- self.authentication_token = loop do
43
- random_token = SecureRandom.urlsafe_base64(nil, false)
44
- break random_token unless self.class.exists?(authentication_token: random_token)
45
- end
46
- end
47
-
48
- def save_token
49
- self.generate_token
50
- self.save
51
- end
52
43
  end
@@ -5,7 +5,6 @@ class CreateUsers < ActiveRecord::Migration
5
5
  t.string :email
6
6
  t.string :password_hash
7
7
  t.string :password_salt
8
- t.string :authentication_token
9
8
  t.boolean :change_password, default: false
10
9
 
11
10
  t.timestamps null: false
@@ -0,0 +1,9 @@
1
+ class CreateAuthenticationTokens < ActiveRecord::Migration
2
+ def change
3
+ create_table :authentication_tokens do |t|
4
+ t.integer :user_id
5
+ t.string :token
6
+ t.timestamps null: false
7
+ end
8
+ end
9
+ end
@@ -7,7 +7,10 @@ module Aadhar
7
7
  end
8
8
 
9
9
  def current_user
10
- @current_user ||= User.where(authentication_token: params[:auth_token]).first
10
+ @current_user ||= begin
11
+ authentication = AuthenticationToken.where(token: params[:auth_token]).first
12
+ authentication.present? ? authentication.user : nil
13
+ end
11
14
  end
12
15
  end
13
16
  end
@@ -1,3 +1,3 @@
1
1
  module Aadhar
2
- VERSION = "0.0.11"
2
+ VERSION = "0.0.12"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aadhar
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.11
4
+ version: 0.0.12
5
5
  platform: ruby
6
6
  authors:
7
7
  - Krunal
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-02-06 00:00:00.000000000 Z
11
+ date: 2015-02-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -87,6 +87,7 @@ files:
87
87
  - app/controllers/aadhar/users_controller.rb
88
88
  - app/helpers/aadhar/application_helper.rb
89
89
  - app/mailers/user_mailer.rb
90
+ - app/models/authentication_token.rb
90
91
  - app/models/user.rb
91
92
  - app/views/layouts/aadhar/application.html.erb
92
93
  - app/views/layouts/aadhar/mailer.html.erb
@@ -95,6 +96,7 @@ files:
95
96
  - app/views/user_mailer/signup_email.html.erb
96
97
  - config/routes.rb
97
98
  - db/migrate/20150130043153_create_users.rb
99
+ - db/migrate/20150227220755_create_authentication_tokens.rb
98
100
  - lib/aadhar.rb
99
101
  - lib/aadhar/authenticate.rb
100
102
  - lib/aadhar/engine.rb