tkh_authentication 0.0.6 → 0.0.7

Sign up to get free protection for your applications and to get access to all the features.
data/CHANGELOG.md CHANGED
@@ -2,13 +2,16 @@
2
2
 
3
3
 
4
4
 
5
+ ## 0.0.7
6
+
7
+ * Safe redirect to root if host app did not set up the root route
8
+
5
9
 
6
10
  ## 0.0.6
7
11
 
8
12
  * Redirect users to target page upon logging in if they had been interrupted by authenticate or authenticate_with_admin filters
9
13
 
10
14
 
11
-
12
15
  ## 0.0.5
13
16
 
14
17
  * Users controller has both an authenticate and an authenticate_with_admin before_filters
@@ -11,7 +11,7 @@ class SessionsController < ApplicationController
11
11
  else
12
12
  cookies[:auth_token] = user.auth_token
13
13
  end
14
- redirect_to (session[:target_page] || root_url), notice: t('authentication.login_confirmation')
14
+ redirect_to (session[:target_page] || safe_root_url), notice: t('authentication.login_confirmation')
15
15
  session[:target_page] = nil
16
16
  else
17
17
  flash.now.alert = t('authentication.warning.email_or_password_invalid')
@@ -21,7 +21,7 @@ class SessionsController < ApplicationController
21
21
 
22
22
  def destroy
23
23
  cookies.delete(:auth_token)
24
- redirect_to root_url, notice: t('authentication.logout_confirmation')
24
+ redirect_to safe_root_url, notice: t('authentication.logout_confirmation')
25
25
  end
26
26
 
27
27
  end
@@ -16,7 +16,7 @@ class UsersController < ApplicationController
16
16
  @user = User.new(params[:user])
17
17
  if @user.save
18
18
  cookies[:auth_token] = @user.auth_token
19
- redirect_to session[:target_page] || root_url, notice: t('authentication.signup_confirmation')
19
+ redirect_to session[:target_page] || safe_root_url, notice: t('authentication.signup_confirmation')
20
20
  session[:target_page] = nil
21
21
  else
22
22
  render "new"
data/app/models/user.rb CHANGED
@@ -5,6 +5,7 @@ class User < ActiveRecord::Base
5
5
  # not allowed are :admin:boolean, :auth_token:string, password_reset_token:string, password_reset_sent_at:datetime
6
6
  attr_accessible :email, :password, :password_confirmation, :first_name, :last_name
7
7
 
8
+ validates_presence_of :email
8
9
  validates_uniqueness_of :email, :case_sensitive => false
9
10
  validates_presence_of :password, on: :create
10
11
  validates_presence_of :first_name
@@ -18,8 +18,14 @@ module TkhAuthenticationActionControllerExtension
18
18
  def authenticate_with_admin
19
19
  unless current_user && current_user.admin?
20
20
  session[:target_page] = request.url if session[:target_page].nil?
21
- redirect_to root_url, alert: t('authentication.warning.restricted_access')
21
+ redirect_to safe_root_url, alert: t('authentication.warning.restricted_access')
22
22
  end
23
23
  end
24
+
25
+ private
26
+
27
+ def safe_root_url
28
+ defined?(root_url) ? root_url : '/'
29
+ end
24
30
  end
25
31
  end
@@ -1,3 +1,3 @@
1
1
  module TkhAuthentication
2
- VERSION = "0.0.6"
2
+ VERSION = "0.0.7"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tkh_authentication
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.6
4
+ version: 0.0.7
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-08-01 00:00:00.000000000 Z
12
+ date: 2012-08-03 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rails
@@ -171,7 +171,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
171
171
  version: '0'
172
172
  segments:
173
173
  - 0
174
- hash: -1846270554673356204
174
+ hash: 4227862360547794696
175
175
  required_rubygems_version: !ruby/object:Gem::Requirement
176
176
  none: false
177
177
  requirements:
@@ -180,7 +180,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
180
180
  version: '0'
181
181
  segments:
182
182
  - 0
183
- hash: -1846270554673356204
183
+ hash: 4227862360547794696
184
184
  requirements: []
185
185
  rubyforge_project:
186
186
  rubygems_version: 1.8.23