devise_google_authenticator 0.3.9 → 0.3.10

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
- NzhiNGE3NDNkMWZlZTMzY2RiMTJlNDYwMGIwNjg0NTE0YjBkMWYxMg==
4
+ MmFhOTViZTIzZjljNDZkZTBhZTE3YTUyYWZiYWI2MzFiZWE3N2ZiZA==
5
5
  data.tar.gz: !binary |-
6
- YTIyN2E0YTVjNjI2NWE0NzRmOGJkMTBlNjYzM2YzMTk2NWJiNjI1OQ==
6
+ MDNkY2FmYTk5NjVkZmM0MDYyYzFkYTY0ZjRjZWVhYzY1NWRjMjVhMg==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- NjBkY2YxNTJjOWVmNTFhMmVmNmNmYTc1N2QxNDZmNTQ4Nzk5MDc0NTZkYmM2
10
- N2ZiNjZmMDc4MzEzZjExZjkyODg5Njk2ZTNiNThiMDU1YWViNjlmNTg1MGZh
11
- NmYyMDIwNWFlNWU3Y2NkOTYxYTdmZjk5OTBhYjVmOTAwMjRjMWU=
9
+ ZmJkNDRlNmNiNmNiYmJhOGUwMTMyZWU1NDI1YTUwNzhjMzg0YjA1ODQwOTI1
10
+ ZGYyNDhkYzQyOGZkYzk4NDUwOTE3MGFmODk4NDc0NTE1Yjg2MGMwMTgxZjBj
11
+ MTJkZjE0MjcyYjFmOTFkMGVkNzlkODAxNDk5MWVlYjIyMjdiZTU=
12
12
  data.tar.gz: !binary |-
13
- OWFiZDhhZDNjNTUzZDNkNzVmODAwYmI3ZjIyZmM2ZDkyNGZjM2Y2ZDcxMGMx
14
- NWM1OTE0MjY4MjRjZWUzOWIzYzAzODk3MTRlZGQ0MjA5ZGVlNzJjZjU5ODY0
15
- ZDEwYWNhNTUwMmFlZGEyMGE3N2NhOTA2Zjg2YjFiN2I3OTY2NDk=
13
+ NDdiZjQwMGIyYWE3M2YzNGU5ZDJlNDc2MGE2NzI1Y2ZmNzllYTNmNDgxMWE0
14
+ N2QxYWU5NWRjYWE4MjVlM2RmMDNlYjRjNDRlNDBlYmYwYTZkN2MxNDVkYmIw
15
+ YTJkMmVhNmM2ODkxMzgyMmE5ZTE4NWI5MjYxNDU1NTE3MTc4MTc=
data/README.rdoc CHANGED
@@ -15,19 +15,20 @@ This is a devise[https://github.com/plataformatec/devise] extension to allow you
15
15
  * Version 0.3.7 - Support for current Devise (3.2.0) and Rails4 (Thanks https://github.com/ronald05arias) - integration test still broke - need to address this
16
16
  * Version 0.3.8 - Support for remembering the token authentication. (i.e. don't request the token for a configurable amount of time Thanks https://github.com/blahblahblah-) - and seriously, I'm going to try and refactor all the integration tests with Rspec.
17
17
  * Version 0.3.9 - Merging fix from zhenyuchen (deprecated ActiveRecord query grammar) - also, re-tested against Rails 4.0.4 and Devise 3.2.3
18
+ * Version 0.3.10 - Added support for Mongoid ORM in addition to ActiveRecord. (Still no appropriate testing for, but I've run this on vanilla Rails 4.0.4 and Devise 3.2.3 apps)
18
19
 
19
20
  == Installation
20
21
 
21
22
  Add the gem to your Gemfile (don't forget devise too):
22
23
 
23
24
  * gem 'devise'
24
- * gem 'devise_google_authenticator', '0.3.9'
25
+ * gem 'devise_google_authenticator', '0.3.10'
25
26
 
26
27
  Don't forget to "bundle install"
27
28
 
28
29
  === Devise Installation (In case you haven't done it)
29
30
 
30
- To setup Devise, you need to do the following (but refer to https://github.com/plataformatec/devise for more information)
31
+ Before you can setup Devise Google Authenticator you need to setup Devise first, you need to do the following (but refer to https://github.com/plataformatec/devise for more information)
31
32
 
32
33
  Install Devise:
33
34
  * rails g devise:install
@@ -51,7 +52,7 @@ After you've created your Devise user models (which is usually done with a "rail
51
52
 
52
53
  * rails g devise_google_authenticator MODEL
53
54
 
54
- Don't forget to migrate:
55
+ Don't forget to migrate if you're NOT using Mongoid as your database ORM, Mongoid installations will have appropriate fields added to the model after the command above:
55
56
 
56
57
  * rake db:migrate
57
58
 
@@ -49,6 +49,20 @@ module Devise # :nodoc:
49
49
  end
50
50
  end
51
51
 
52
+ def gauth_enabled?
53
+ # Active_record seems to handle determining the status better this way
54
+ if self.gauth_enabled.respond_to?("to_i")
55
+ if self.gauth_enabled.to_i != 0
56
+ return true
57
+ else
58
+ return false
59
+ end
60
+ # Mongoid does NOT have a .to_i for the Boolean return value, hence, we can just return it
61
+ else
62
+ return self.gauth_enabled
63
+ end
64
+ end
65
+
52
66
  def require_token?(cookie)
53
67
  if self.class.ga_remembertime.nil? || cookie.blank?
54
68
  return true
@@ -11,7 +11,7 @@ module DeviseGoogleAuthenticator::Patches
11
11
 
12
12
  resource = warden.authenticate!(:scope => resource_name, :recall => "#{controller_path}#new")
13
13
 
14
- if resource.respond_to?(:get_qr) and resource.gauth_enabled.to_i != 0 and resource.require_token?(cookies.signed[:gauth]) #Therefore we can quiz for a QR
14
+ if resource.respond_to?(:get_qr) and resource.gauth_enabled? and resource.require_token?(cookies.signed[:gauth]) #Therefore we can quiz for a QR
15
15
  tmpid = resource.assign_tmp #assign a temporary key and fetch it
16
16
  warden.logout #log the user out
17
17
 
@@ -0,0 +1,26 @@
1
+ require 'rails/generators/named_base'
2
+ require 'generators/devise/orm_helpers'
3
+
4
+ module Mongoid
5
+ module Generators
6
+ class DeviseGoogleAuthenticatorGenerator < Rails::Generators::NamedBase
7
+ include Devise::Generators::OrmHelpers
8
+
9
+ def inject_field_types
10
+ inject_into_file model_path, migration_data, :after => "include Mongoid::Document\n" if model_exists?
11
+ end
12
+
13
+ def migration_data
14
+ <<RUBY
15
+ # Google Authenticator
16
+ field :gauth_secret, :type => String
17
+ field :gauth_enabled, :type => Boolean, :default => 'f'
18
+ field :gauth_tmp, :type => String
19
+ field :gauth_tmp_datetime, :type => DateTime
20
+
21
+ RUBY
22
+ end
23
+ end
24
+ end
25
+ end
26
+
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: devise_google_authenticator
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.9
4
+ version: 0.3.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - Christian Frichot
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-03-16 00:00:00.000000000 Z
11
+ date: 2014-03-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -109,6 +109,7 @@ files:
109
109
  - lib/generators/devise_google_authenticator/devise_google_authenticator_generator.rb
110
110
  - lib/generators/devise_google_authenticator/install_generator.rb
111
111
  - lib/generators/devise_google_authenticator/views_generator.rb
112
+ - lib/generators/mongoid/devise_google_authenticator_generator.rb
112
113
  - LICENSE.txt
113
114
  - README.rdoc
114
115
  homepage: http://github.com/AsteriskLabs/devise_google_authenticator