castle-rb 1.0.7 → 1.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +17 -0
- data/lib/castle-rb/client.rb +17 -1
- data/lib/castle-rb/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 14c88aa4187d1472edffa7a1328a531adfacb630
|
4
|
+
data.tar.gz: 6e0ff46033e273306871b309870eed825fdce994
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 26ef23b6a5d415c948280ccd7482d36036015a7baa1a51b3ca663311436de007cdcb8c41cb5eb90330a1fb8ca1bd4ad9586f24cc0c479813741d4e419052c863
|
7
|
+
data.tar.gz: 46c1e598df715fd40793efab6e17b96c343c059df01d35cb2a90d5f424052682baff95d14218d4b2a45df1c2b94cc63f91f861080d7e21efb916c2bb360f7bf2
|
data/README.md
CHANGED
@@ -54,6 +54,9 @@ castle.track(
|
|
54
54
|
- `$logout.succeeded`: Record when a user logs out.
|
55
55
|
- `$registration.succeeded`: Capture account creation, both when a user signs up as well as when created manually by an administrator.
|
56
56
|
- `$registration.failed`: Record when an account failed to be created.
|
57
|
+
- `$challenge.requested`: Record when a user is prompted with additional verification, such as two-factor authentication or a captcha.
|
58
|
+
- `$challenge.succeeded`: Record when additional verification was successful.
|
59
|
+
- `$challenge.failed`: Record when additional verification failed.
|
57
60
|
- `$password_reset.requested`: An attempt was made to reset a user’s password.
|
58
61
|
- `$password_reset.succeeded`: The user completed all of the steps in the password reset process and the password was successfully reset. Password resets **do not** required knowledge of the current password.
|
59
62
|
- `$password_reset.failed`: Use to record when a user failed to reset their password.
|
@@ -82,6 +85,20 @@ _castle('setUser', 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1...y4PCIXrz1Ejs');
|
|
82
85
|
|
83
86
|
**Important:** Make sure you enable **Secure mode** in the [Castle dashboard](https://dashboard.castle.io/settings/general).
|
84
87
|
|
88
|
+
## Exceptions
|
89
|
+
|
90
|
+
`Castle::Error` will be thrown if the Castle API returns a 400 or a 500 level HTTP response. You can also choose to catch a more [finegrained error](https://github.com/castle/castle-ruby/blob/master/lib/castle-rb/errors.rb).
|
91
|
+
|
92
|
+
```ruby
|
93
|
+
begin
|
94
|
+
castle.track(
|
95
|
+
name: '$login.succeeded',
|
96
|
+
user_id: user.id)
|
97
|
+
rescue Castle::Error => e
|
98
|
+
puts e.message
|
99
|
+
end
|
100
|
+
```
|
101
|
+
|
85
102
|
## Configuration
|
86
103
|
|
87
104
|
```ruby
|
data/lib/castle-rb/client.rb
CHANGED
@@ -33,7 +33,8 @@ module Castle
|
|
33
33
|
@request_context = {
|
34
34
|
ip: request.ip,
|
35
35
|
user_agent: request.user_agent,
|
36
|
-
cookie_id: cookies['__cid'] || ''
|
36
|
+
cookie_id: cookies['__cid'] || '',
|
37
|
+
headers: header_string(request)
|
37
38
|
}
|
38
39
|
end
|
39
40
|
|
@@ -137,5 +138,20 @@ module Castle
|
|
137
138
|
end
|
138
139
|
|
139
140
|
alias_method :recommend, :recommendation
|
141
|
+
|
142
|
+
private
|
143
|
+
|
144
|
+
def header_string(request)
|
145
|
+
scrub_headers = ['Cookie']
|
146
|
+
|
147
|
+
headers = request.env.keys.grep(/^HTTP_/).map do |header|
|
148
|
+
name = header.gsub(/^HTTP_/, '').split('_').map(&:capitalize).join('-')
|
149
|
+
unless scrub_headers.include?(name)
|
150
|
+
{ name => request.env[header] }
|
151
|
+
end
|
152
|
+
end.compact.inject(:merge)
|
153
|
+
|
154
|
+
MultiJson.encode(headers)
|
155
|
+
end
|
140
156
|
end
|
141
157
|
end
|
data/lib/castle-rb/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: castle-rb
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0
|
4
|
+
version: 1.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Johan
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-04-
|
11
|
+
date: 2015-04-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: her
|