thincloud-authentication 0.4.0 → 0.5.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -32,7 +32,7 @@ module Thincloud::Authentication
32
32
  if omniauth
33
33
  login_as @identity.user
34
34
  else
35
- RegistrationsMailer.verification_token(@identity).deliver
35
+ RegistrationsMailer.verification_token(@identity.id).deliver
36
36
  flash[:notice] = "Check your email to verify your registration."
37
37
  end
38
38
  redirect_to after_registration_path
@@ -4,8 +4,8 @@ module Thincloud::Authentication
4
4
  default from: Thincloud::Authentication.configuration.mailer_sender
5
5
 
6
6
  # New registration verification token
7
- def verification_token(identity)
8
- @identity = identity
7
+ def verification_token(identity_id)
8
+ @identity = Identity.find(identity_id)
9
9
  mail to: @identity.email, subject: "Identity Verification"
10
10
  end
11
11
  end
@@ -5,9 +5,6 @@ module Thincloud::Authentication
5
5
 
6
6
  belongs_to :user
7
7
 
8
- # Limit the ability to mass-assign sensitive fields.
9
- attr_accessible :name, :email, :password, :password_confirmation
10
-
11
8
  validates :name, presence: true
12
9
  validates :email, presence: true, uniqueness: true, format: /@/
13
10
 
@@ -17,8 +17,8 @@ module Thincloud
17
17
  #
18
18
  # Returns: An instance of `User` or `nil`.
19
19
  def current_user
20
- return nil if session[:uid].blank?
21
- @current_user ||= User.find(session[:uid])
20
+ return nil if cookies.signed[:uid].blank?
21
+ @current_user ||= User.find(cookies.signed[:uid])
22
22
  end
23
23
 
24
24
  # Protected: Determine if the current request has a logged in user.
@@ -48,7 +48,11 @@ module Thincloud
48
48
  # Returns: The `id` of the provided user.
49
49
  def login_as(user)
50
50
  reset_session # avoid session fixation
51
- session[:uid] = user.id
51
+ cookies.signed[:uid] = {
52
+ value: user.id,
53
+ secure: request.ssl?,
54
+ httponly: true
55
+ }
52
56
  end
53
57
 
54
58
  # Protected: Clear the session of an authenticated user.
@@ -56,6 +60,7 @@ module Thincloud
56
60
  # Returns: A new empty session instance.
57
61
  def logout
58
62
  reset_session
63
+ cookies.delete(:uid)
59
64
  end
60
65
 
61
66
  # Protected: Provides the URL to redirect to after logging in.
@@ -1,3 +1,6 @@
1
+ require "rails"
2
+ require "strong_parameters"
3
+
1
4
  module Thincloud
2
5
  module Authentication
3
6
 
@@ -1,5 +1,5 @@
1
1
  module Thincloud
2
2
  module Authentication
3
- VERSION = "0.4.0"
3
+ VERSION = "0.5.0"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: thincloud-authentication
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 0.5.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2013-04-09 00:00:00.000000000 Z
13
+ date: 2013-05-06 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: rails
@@ -139,7 +139,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
139
139
  version: '0'
140
140
  segments:
141
141
  - 0
142
- hash: 4510440857469135512
142
+ hash: 95031212902232703
143
143
  required_rubygems_version: !ruby/object:Gem::Requirement
144
144
  none: false
145
145
  requirements:
@@ -148,10 +148,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
148
148
  version: '0'
149
149
  segments:
150
150
  - 0
151
- hash: 4510440857469135512
151
+ hash: 95031212902232703
152
152
  requirements: []
153
153
  rubyforge_project:
154
- rubygems_version: 1.8.25
154
+ rubygems_version: 1.8.23
155
155
  signing_key:
156
156
  specification_version: 3
157
157
  summary: Rails Engine to provide authentication for Thincloud applications