castle-rb 1.0.7 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|