authtrail 0.3.1 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: eb0329a5efc01b445b4686a7e1712d6937f57d52443ad880802c5a79c6e746c4
4
- data.tar.gz: d4ac5c96149eebd39ba9964303758e48b537e1823345e27117ce35bf1ff7752a
3
+ metadata.gz: fc8ae231bde9d10834ea6a7fa2fb0cd50a12e351ba2296abb15b743975fad197
4
+ data.tar.gz: c52435deca659cd45a8ed647daccaf8b19e9d7d92374db06be69c63cbcc6b1e3
5
5
  SHA512:
6
- metadata.gz: 837b7df27b74e7c4ac54855bc40584c0fb7ed5291abb5f7627d13d9bd5fa8adfb25bdb50f2292721c67394ca5a8274b8e95a881bf63213dea7a73b927da204ae
7
- data.tar.gz: 20b98bad8507a73e67fececc5cb2811a98013e4f449ab8d8b9c97227a4ffb33ecdf1237228c3282ebd3449f2b04cd080369b75d3c1f4f6fa585155169d1433cd
6
+ metadata.gz: 8531404800e70b37e0f6bca1fd79f690bfe36434efe768c926fa7248f1f50d803de16aa3324ecaa656c142940e69de35f80d2c5f4699f5408fbd92f41e5c24b0
7
+ data.tar.gz: bd4daf16b7ad615477cdbf0592f45d789fa7b6b0ba759c417f6e4e89888e2b4014dae6a2b48333a9863b6b1b0670082f9b9808da327dc790f2e0f173d6d63714
data/CHANGELOG.md CHANGED
@@ -1,3 +1,9 @@
1
+ ## 0.4.0 (2021-08-13)
2
+
3
+ - Disabled geocoding by default
4
+ - Made the `geocoder` gem an optional dependency
5
+ - Added `country_code` to geocoding
6
+
1
7
  ## 0.3.1 (2021-03-03)
2
8
 
3
9
  - Added `--lockbox` option to install generator
data/README.md CHANGED
@@ -2,6 +2,8 @@
2
2
 
3
3
  Track Devise login activity
4
4
 
5
+ **AuthTrail 0.4.0 was recently released** - see [how to upgrade](#upgrading)
6
+
5
7
  :tangerine: Battle-tested at [Instacart](https://www.instacart.com/opensource)
6
8
 
7
9
  [![Build Status](https://github.com/ankane/authtrail/workflows/build/badge.svg?branch=master)](https://github.com/ankane/authtrail/actions)
@@ -28,6 +30,8 @@ rails generate authtrail:install
28
30
  rails db:migrate
29
31
  ```
30
32
 
33
+ To enable geocoding, see the [Geocoding section](#geocoding).
34
+
31
35
  ## How It Works
32
36
 
33
37
  A `LoginActivity` record is created every time a user tries to login. You can then use this information to detect suspicious behavior. Data includes:
@@ -104,7 +108,13 @@ The `LoginActivity` model uses a [polymorphic association](https://guides.rubyon
104
108
 
105
109
  AuthTrail uses [Geocoder](https://github.com/alexreisner/geocoder) for geocoding. We recommend configuring [local geocoding](#local-geocoding) or [load balancer geocoding](#load-balancer-geocoding) so IP addresses are not sent to a 3rd party service. If you do use a 3rd party service and adhere to GDPR, be sure to add it to your subprocessor list.
106
110
 
107
- To enable geocoding, update `config/initializers/authtrail.rb`:
111
+ To enable geocoding, add this line to your application’s Gemfile:
112
+
113
+ ```ruby
114
+ gem 'geocoder'
115
+ ```
116
+
117
+ And update `config/initializers/authtrail.rb`:
108
118
 
109
119
  ```ruby
110
120
  AuthTrail.geocode = true
@@ -180,6 +190,18 @@ Check out [Hardening Devise](https://ankane.org/hardening-devise) and [Secure Ra
180
190
 
181
191
  ## Upgrading
182
192
 
193
+ ### 0.4.0
194
+
195
+ There are two notable changes to geocoding:
196
+
197
+ 1. Geocoding is now disabled by default (this was already the case for new installations with 0.3.0+). Check out the instructions for [how to enable it](#geocoding) (you may need to create `config/initializers/authtrail.rb`).
198
+
199
+ 2. The `geocoder` gem is now an optional dependency. To use geocoding, add it to your Gemfile:
200
+
201
+ ```ruby
202
+ gem 'geocoder'
203
+ ```
204
+
183
205
  ### 0.2.0
184
206
 
185
207
  To store latitude and longitude, create a migration with:
@@ -8,6 +8,9 @@ module AuthTrail
8
8
  result =
9
9
  begin
10
10
  Geocoder.search(login_activity.ip).first
11
+ rescue NameError
12
+ # geocoder gem not installed
13
+ raise
11
14
  rescue => e
12
15
  Rails.logger.info "Geocode failed: #{e.message}"
13
16
  nil
@@ -18,6 +21,7 @@ module AuthTrail
18
21
  city: result.try(:city),
19
22
  region: result.try(:state),
20
23
  country: result.try(:country),
24
+ country_code: result.try(:country_code),
21
25
  latitude: result.try(:latitude),
22
26
  longitude: result.try(:longitude)
23
27
  }
@@ -1,3 +1,3 @@
1
1
  module AuthTrail
2
- VERSION = "0.3.1"
2
+ VERSION = "0.4.0"
3
3
  end
data/lib/authtrail.rb CHANGED
@@ -1,5 +1,4 @@
1
1
  # dependencies
2
- require "geocoder"
3
2
  require "warden"
4
3
 
5
4
  # modules
@@ -11,7 +10,7 @@ module AuthTrail
11
10
  class << self
12
11
  attr_accessor :exclude_method, :geocode, :track_method, :identity_method, :job_queue, :transform_method
13
12
  end
14
- self.geocode = true
13
+ self.geocode = false
15
14
  self.identity_method = lambda do |request, opts, user|
16
15
  if user
17
16
  user.try(:email)
@@ -1,5 +1,5 @@
1
- # set to true for geocoding
2
- # we recommend configuring local geocoding first
1
+ # set to true for geocoding (and add the geocoder gem to your Gemfile)
2
+ # we recommend configuring local geocoding as well
3
3
  # see https://github.com/ankane/authtrail#geocoding
4
4
  AuthTrail.geocode = false
5
5
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: authtrail
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.1
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andrew Kane
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-03-04 00:00:00.000000000 Z
11
+ date: 2021-08-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: railties
@@ -52,20 +52,6 @@ dependencies:
52
52
  - - ">="
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
- - !ruby/object:Gem::Dependency
56
- name: geocoder
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - ">="
60
- - !ruby/object:Gem::Version
61
- version: '0'
62
- type: :runtime
63
- prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - ">="
67
- - !ruby/object:Gem::Version
68
- version: '0'
69
55
  description:
70
56
  email: andrew@ankane.org
71
57
  executables: []
@@ -104,7 +90,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
104
90
  - !ruby/object:Gem::Version
105
91
  version: '0'
106
92
  requirements: []
107
- rubygems_version: 3.2.3
93
+ rubygems_version: 3.2.22
108
94
  signing_key:
109
95
  specification_version: 4
110
96
  summary: Track Devise login activity