trusona 2.1.0 → 2.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +0 -0
- data/.travis.yml +10 -5
- data/README.md +24 -4
- data/certs/trusona.pem +32 -24
- data/lib/trusona/resources/trusonafication.rb +3 -1
- data/lib/trusona/trusonafication.rb +3 -0
- data/lib/trusona/version.rb +1 -1
- data/trusona.key.pem.enc +0 -0
- metadata +34 -26
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 398cae673c18c91ca4edf45a61db8321a4b3a409
|
4
|
+
data.tar.gz: e65a8f49e68558631ade4e92a565c9d9f113cedc
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bae3928a80ca2f52a2c4ce3a0d4d8afa4e72d079b8ee73016b28c5efcdb963422ef7b30593125f8dddbae533760395e49abec02157572fb42b63cb6a71f40c81
|
7
|
+
data.tar.gz: 40d854cab5c18fd0451ce85317ed337b10bafc815a35f6dceb2f871a7b477d3f3dbdfc4ceb1cccf54d831da81c71b59c1b98b75ab46c95b02b7ef628ef7cda31
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data.tar.gz.sig
CHANGED
Binary file
|
data/.travis.yml
CHANGED
@@ -1,13 +1,12 @@
|
|
1
1
|
sudo: false
|
2
2
|
language: ruby
|
3
3
|
cache:
|
4
|
-
- bundler
|
4
|
+
- bundler
|
5
5
|
rvm:
|
6
|
-
- 2.4.3
|
7
|
-
- 2.5.1
|
8
|
-
before_install:
|
9
|
-
- openssl aes-256-cbc -K $encrypted_b73e363d372e_key -iv $encrypted_b73e363d372e_iv -in trusona.key.pem.enc -out trusona.key.pem -d
|
6
|
+
- 2.4.3
|
7
|
+
- 2.5.1
|
10
8
|
before_script:
|
9
|
+
- openssl aes-256-cbc -K $encrypted_2ddff5084a28_key -iv $encrypted_2ddff5084a28_iv -in trusona.key.pem.enc -out trusona.key.pem -d
|
11
10
|
- curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ./cc-test-reporter
|
12
11
|
- chmod +x ./cc-test-reporter
|
13
12
|
- ./cc-test-reporter before-build
|
@@ -26,3 +25,9 @@ deploy:
|
|
26
25
|
on:
|
27
26
|
tags: true
|
28
27
|
rvm: '2.4.3'
|
28
|
+
notifications:
|
29
|
+
slack:
|
30
|
+
on_success: always
|
31
|
+
on_failure: always
|
32
|
+
rooms:
|
33
|
+
- secure: "qRApZOlTg30kMRnRkaF2FrEjsu41iCYWyKH+jBDrw9/27fDxSooSFTrd9zoukyZOsh4j7IcXhM63ZsoOP5eYNc49PsPJlDvSWo3pwp3sQwFpXbbci1axEQeqWr3gwpQ9QiGNbKGelhr6zgMK5Qa41GrgpsAR/7R21SuqDyDczzPgRQQxxbAFUI1hHyDvs4H+/CZdno1y8NKbLqSzwNxnZQFAZlXvrnlTWNL4Afr9MqarTlxvg62FKhBmpExThMhmvh0egcfrH1SEkEn9WECqReO6m+evpK/uF5fFRiBPnOEj+aJswWt0tUoSSATNCOoKSQt6aOpGe6RLpiaUljCHK/0pLAsSXroCiEQ6DSRwEkiGOzMFkrefPIvHQqWMTlJKsO+oJOY4utnRnX+ykg0nQ1+6HZPoUX+E+chlYIIomQ0GMtn7LuT22kXlnuYgv64tc7/wtRlIoQ0oS+Hj0sOz5u3T78eiGn+hXvCaRsfMjq9InP01lFS/3X4mK4fI89L9cTKN+8Kvk072boibGApyusJBzt5SS9LFYS44B6d63pFGlpfZUrSBbwr44jfwCIyWPKuf+7SLzJKzeduRX/2/PIAweMm/yUz6ERAEcw6fYUDziMljhWKZh8ME4B1VAWpUAGR9/Gq4iYCLGRiJ2ajG4CE2Sf7+9W74V6fe1RiAodo="
|
data/README.md
CHANGED
@@ -122,12 +122,31 @@ In the above example, the addition of `user_presence: false` and `prompt: false`
|
|
122
122
|
email: 'user@domain.com'
|
123
123
|
})
|
124
124
|
```
|
125
|
-
In some cases you may be able to send a Trusonafication to a user
|
126
|
-
by specifying their email address. This is the case if one of the following is true:
|
125
|
+
In some cases you may be able to send a Trusonafication to a user by specifying their email address. This is the case if one of the following is true:
|
127
126
|
- You have verified ownership of a domain through the Trusona Developer's site
|
128
127
|
- You have an agreement with Trusona allowing you to send Trusonafications to any email address.
|
129
|
-
Creating a Trusonafication with an email address is similar to the other
|
130
|
-
|
128
|
+
Creating a Trusonafication with an email address is similar to the other use cases, except you use the `email` parameter rather than `user_identifier` or `device_identifier`.
|
129
|
+
|
130
|
+
#### Adding custom fields to a Trusonafication
|
131
|
+
```ruby
|
132
|
+
Trusona::ExecutiveTrusonafication.create(params: {
|
133
|
+
action: 'login',
|
134
|
+
resource: 'Acme Bank',
|
135
|
+
device_identifier: 'Vdza6-JQMfAJePj2H69oMn1YTyXTu73IiYt9oBa3kj',
|
136
|
+
custom_fields: { greeting: 'hello!', last_login: false }
|
137
|
+
})
|
138
|
+
```
|
139
|
+
|
140
|
+
If you are using the mobile SDK to build a custom app that integrates with Trusona, you have the option of including additional data on the Trusonafication which the app can use to affect its behavior.
|
141
|
+
|
142
|
+
For example, you may want to include additional context on the Trusonafication prompt.
|
143
|
+
|
144
|
+
You can add these custom fields by including a `custom_fields` hash as shown above.
|
145
|
+
|
146
|
+
The custom fields will then be available in the Trusonafication received by the SDK.
|
147
|
+
|
148
|
+
Note that the custom fields are not used in the case that the Trusonafication is being handled by the Trusona app.
|
149
|
+
|
131
150
|
|
132
151
|
#### An Executive level Trusonafication
|
133
152
|
|
@@ -151,6 +170,7 @@ use cases, except you use the `email` parameter rather than `user_identifier` or
|
|
151
170
|
| User Presence | `user_presence` | N | Should the user be required to demonstrate presence (e.g. via Biometric) when accepting this Trusonafication? Defaults to `true`. |
|
152
171
|
| Prompt | `prompt` | N | Should the user be prompted to Accept or Reject this Trusonafication? Defaults to `true`. |
|
153
172
|
| Expiration | `expires_at` | N | The ISO-8601 UTC timestamp of the Trusonafication's expiration. Defaults to 90 seconds from creation. |
|
173
|
+
| Custom Fields | `custom_fields` | N | Arbitrary key-value data fields made available to the Trusonafication. Amount of data in the hash is limited to 1MB |
|
154
174
|
|
155
175
|
[^1]: You must provide at least one field that would allow Trusona to determine which user to authenticate. The identifier fields are `device_identifier`, `user_identifier`, and `trucode_id`.
|
156
176
|
|
data/certs/trusona.pem
CHANGED
@@ -1,26 +1,34 @@
|
|
1
1
|
-----BEGIN CERTIFICATE-----
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
2
|
+
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
|
33
|
+
eNCk84I=
|
26
34
|
-----END CERTIFICATE-----
|
@@ -11,7 +11,7 @@ module Trusona
|
|
11
11
|
attr_accessor :device_identifier, :user_identifier, :trucode_id,
|
12
12
|
:resource, :action, :level, :id, :email,
|
13
13
|
:accepted_level, :trusona_id, :expires_at,
|
14
|
-
:user_presence, :prompt
|
14
|
+
:user_presence, :prompt, :custom_fields
|
15
15
|
|
16
16
|
# rubocop:disable Metrics/AbcSize
|
17
17
|
# rubocop:disable Metrics/MethodLength
|
@@ -31,6 +31,7 @@ module Trusona
|
|
31
31
|
self.trusona_id = @params[:trusona_id]
|
32
32
|
self.prompt = defaulting_to(true, @params[:prompt])
|
33
33
|
self.user_presence = defaulting_to(true, @params[:user_presence])
|
34
|
+
self.custom_fields = @params[:custom_fields]
|
34
35
|
|
35
36
|
@status = @params[:status]
|
36
37
|
end
|
@@ -55,6 +56,7 @@ module Trusona
|
|
55
56
|
status: @status,
|
56
57
|
prompt: prompt,
|
57
58
|
user_presence: user_presence,
|
59
|
+
custom_fields: custom_fields,
|
58
60
|
expires_at: expires_at&.iso8601)
|
59
61
|
end
|
60
62
|
# rubocop:enable Metrics/MethodLength
|
@@ -58,6 +58,9 @@ module Trusona
|
|
58
58
|
# @param timeout [Int] (30) The max amount of time, in seconds, to wait
|
59
59
|
# for a response from the Trusona API when polling for a Trusonafication
|
60
60
|
# result
|
61
|
+
# @option params [Hash] :custom_fields Optional data to be associated with
|
62
|
+
# this Trusonafication and can be used to constomize any UX elements. Total
|
63
|
+
# size of data is limited to 1MB.
|
61
64
|
# @yield [Trusona::Resources::Trusonafication] Yields the completed
|
62
65
|
# Trusonafication to the block
|
63
66
|
# @raise [Trusona::InvalidResourceError] if the resource is not +valid?+
|
data/lib/trusona/version.rb
CHANGED
data/trusona.key.pem.enc
CHANGED
Binary file
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: trusona
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Trusona
|
@@ -10,32 +10,40 @@ bindir: exe
|
|
10
10
|
cert_chain:
|
11
11
|
- |
|
12
12
|
-----BEGIN CERTIFICATE-----
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
13
|
+
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
|
44
|
+
eNCk84I=
|
37
45
|
-----END CERTIFICATE-----
|
38
|
-
date: 2019-
|
46
|
+
date: 2019-07-16 00:00:00.000000000 Z
|
39
47
|
dependencies:
|
40
48
|
- !ruby/object:Gem::Dependency
|
41
49
|
name: httparty
|
metadata.gz.sig
CHANGED
Binary file
|