mauth-client 6.4.3 → 7.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/.gitignore +1 -0
- data/.rubocop.yml +6 -3
- data/.ruby-version +1 -1
- data/.travis.yml +3 -11
- data/Appraisals +1 -5
- data/CHANGELOG.md +15 -0
- data/Gemfile +16 -0
- data/README.md +81 -44
- data/Rakefile +20 -12
- data/UPGRADE_GUIDE.md +21 -0
- data/doc/mauth-client_CLI.md +1 -11
- data/examples/Gemfile +0 -1
- data/examples/README.md +14 -13
- data/examples/get_country_info.rb +44 -0
- data/exe/mauth-client +1 -23
- data/gemfiles/faraday_1.x.gemfile +17 -1
- data/gemfiles/faraday_2.x.gemfile +16 -0
- data/lib/mauth/client/{local_authenticator.rb → authenticator.rb} +124 -3
- data/lib/mauth/client/security_token_cacher.rb +20 -13
- data/lib/mauth/client.rb +21 -101
- data/lib/mauth/config_env.rb +81 -0
- data/lib/mauth/private_key_helper.rb +30 -0
- data/lib/mauth/version.rb +1 -1
- data/mauth-client.gemspec +5 -17
- metadata +30 -198
- data/.fossa.yml +0 -14
- data/doc/mauth.yml.md +0 -84
- data/examples/Gemfile.lock +0 -69
- data/examples/config.yml +0 -12
- data/examples/get_user_info.rb +0 -58
- data/gemfiles/faraday_0.x.gemfile +0 -7
- data/lib/mauth/client/authenticator_base.rb +0 -133
- data/lib/mauth/client/remote_authenticator.rb +0 -85
- data/lib/mauth/dice_bag/mauth.rb.dice +0 -12
- data/lib/mauth/dice_bag/mauth.yml.dice +0 -18
- data/lib/mauth/dice_bag/mauth_key.dice +0 -1
- data/lib/mauth/dice_bag/mauth_templates.rb +0 -21
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mauth-client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 7.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Matthew Szenher
|
@@ -11,7 +11,7 @@ authors:
|
|
11
11
|
autorequire:
|
12
12
|
bindir: exe
|
13
13
|
cert_chain: []
|
14
|
-
date:
|
14
|
+
date: 2023-06-01 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: addressable
|
@@ -41,33 +41,13 @@ dependencies:
|
|
41
41
|
- - "~>"
|
42
42
|
- !ruby/object:Gem::Version
|
43
43
|
version: '1.0'
|
44
|
-
- !ruby/object:Gem::Dependency
|
45
|
-
name: dice_bag
|
46
|
-
requirement: !ruby/object:Gem::Requirement
|
47
|
-
requirements:
|
48
|
-
- - ">="
|
49
|
-
- !ruby/object:Gem::Version
|
50
|
-
version: '0.9'
|
51
|
-
- - "<"
|
52
|
-
- !ruby/object:Gem::Version
|
53
|
-
version: '2.0'
|
54
|
-
type: :runtime
|
55
|
-
prerelease: false
|
56
|
-
version_requirements: !ruby/object:Gem::Requirement
|
57
|
-
requirements:
|
58
|
-
- - ">="
|
59
|
-
- !ruby/object:Gem::Version
|
60
|
-
version: '0.9'
|
61
|
-
- - "<"
|
62
|
-
- !ruby/object:Gem::Version
|
63
|
-
version: '2.0'
|
64
44
|
- !ruby/object:Gem::Dependency
|
65
45
|
name: faraday
|
66
46
|
requirement: !ruby/object:Gem::Requirement
|
67
47
|
requirements:
|
68
48
|
- - ">="
|
69
49
|
- !ruby/object:Gem::Version
|
70
|
-
version: '
|
50
|
+
version: '1.9'
|
71
51
|
- - "<"
|
72
52
|
- !ruby/object:Gem::Version
|
73
53
|
version: '3.0'
|
@@ -77,7 +57,7 @@ dependencies:
|
|
77
57
|
requirements:
|
78
58
|
- - ">="
|
79
59
|
- !ruby/object:Gem::Version
|
80
|
-
version: '
|
60
|
+
version: '1.9'
|
81
61
|
- - "<"
|
82
62
|
- !ruby/object:Gem::Version
|
83
63
|
version: '3.0'
|
@@ -102,41 +82,13 @@ dependencies:
|
|
102
82
|
- !ruby/object:Gem::Version
|
103
83
|
version: '3.0'
|
104
84
|
- !ruby/object:Gem::Dependency
|
105
|
-
name:
|
106
|
-
requirement: !ruby/object:Gem::Requirement
|
107
|
-
requirements:
|
108
|
-
- - ">"
|
109
|
-
- !ruby/object:Gem::Version
|
110
|
-
version: 2.2.3
|
111
|
-
type: :runtime
|
112
|
-
prerelease: false
|
113
|
-
version_requirements: !ruby/object:Gem::Requirement
|
114
|
-
requirements:
|
115
|
-
- - ">"
|
116
|
-
- !ruby/object:Gem::Version
|
117
|
-
version: 2.2.3
|
118
|
-
- !ruby/object:Gem::Dependency
|
119
|
-
name: term-ansicolor
|
120
|
-
requirement: !ruby/object:Gem::Requirement
|
121
|
-
requirements:
|
122
|
-
- - "~>"
|
123
|
-
- !ruby/object:Gem::Version
|
124
|
-
version: '1.0'
|
125
|
-
type: :runtime
|
126
|
-
prerelease: false
|
127
|
-
version_requirements: !ruby/object:Gem::Requirement
|
128
|
-
requirements:
|
129
|
-
- - "~>"
|
130
|
-
- !ruby/object:Gem::Version
|
131
|
-
version: '1.0'
|
132
|
-
- !ruby/object:Gem::Dependency
|
133
|
-
name: appraisal
|
85
|
+
name: faraday-net_http_persistent
|
134
86
|
requirement: !ruby/object:Gem::Requirement
|
135
87
|
requirements:
|
136
88
|
- - ">="
|
137
89
|
- !ruby/object:Gem::Version
|
138
90
|
version: '0'
|
139
|
-
type: :
|
91
|
+
type: :runtime
|
140
92
|
prerelease: false
|
141
93
|
version_requirements: !ruby/object:Gem::Requirement
|
142
94
|
requirements:
|
@@ -144,41 +96,13 @@ dependencies:
|
|
144
96
|
- !ruby/object:Gem::Version
|
145
97
|
version: '0'
|
146
98
|
- !ruby/object:Gem::Dependency
|
147
|
-
name:
|
148
|
-
requirement: !ruby/object:Gem::Requirement
|
149
|
-
requirements:
|
150
|
-
- - "~>"
|
151
|
-
- !ruby/object:Gem::Version
|
152
|
-
version: '2.7'
|
153
|
-
type: :development
|
154
|
-
prerelease: false
|
155
|
-
version_requirements: !ruby/object:Gem::Requirement
|
156
|
-
requirements:
|
157
|
-
- - "~>"
|
158
|
-
- !ruby/object:Gem::Version
|
159
|
-
version: '2.7'
|
160
|
-
- !ruby/object:Gem::Dependency
|
161
|
-
name: bundler
|
162
|
-
requirement: !ruby/object:Gem::Requirement
|
163
|
-
requirements:
|
164
|
-
- - ">="
|
165
|
-
- !ruby/object:Gem::Version
|
166
|
-
version: '1.17'
|
167
|
-
type: :development
|
168
|
-
prerelease: false
|
169
|
-
version_requirements: !ruby/object:Gem::Requirement
|
170
|
-
requirements:
|
171
|
-
- - ">="
|
172
|
-
- !ruby/object:Gem::Version
|
173
|
-
version: '1.17'
|
174
|
-
- !ruby/object:Gem::Dependency
|
175
|
-
name: byebug
|
99
|
+
name: faraday-retry
|
176
100
|
requirement: !ruby/object:Gem::Requirement
|
177
101
|
requirements:
|
178
102
|
- - ">="
|
179
103
|
- !ruby/object:Gem::Version
|
180
104
|
version: '0'
|
181
|
-
type: :
|
105
|
+
type: :runtime
|
182
106
|
prerelease: false
|
183
107
|
version_requirements: !ruby/object:Gem::Requirement
|
184
108
|
requirements:
|
@@ -186,131 +110,47 @@ dependencies:
|
|
186
110
|
- !ruby/object:Gem::Version
|
187
111
|
version: '0'
|
188
112
|
- !ruby/object:Gem::Dependency
|
189
|
-
name:
|
190
|
-
requirement: !ruby/object:Gem::Requirement
|
191
|
-
requirements:
|
192
|
-
- - "~>"
|
193
|
-
- !ruby/object:Gem::Version
|
194
|
-
version: 1.1.0
|
195
|
-
type: :development
|
196
|
-
prerelease: false
|
197
|
-
version_requirements: !ruby/object:Gem::Requirement
|
198
|
-
requirements:
|
199
|
-
- - "~>"
|
200
|
-
- !ruby/object:Gem::Version
|
201
|
-
version: 1.1.0
|
202
|
-
- !ruby/object:Gem::Dependency
|
203
|
-
name: rake
|
204
|
-
requirement: !ruby/object:Gem::Requirement
|
205
|
-
requirements:
|
206
|
-
- - "~>"
|
207
|
-
- !ruby/object:Gem::Version
|
208
|
-
version: '12.0'
|
209
|
-
type: :development
|
210
|
-
prerelease: false
|
211
|
-
version_requirements: !ruby/object:Gem::Requirement
|
212
|
-
requirements:
|
213
|
-
- - "~>"
|
214
|
-
- !ruby/object:Gem::Version
|
215
|
-
version: '12.0'
|
216
|
-
- !ruby/object:Gem::Dependency
|
217
|
-
name: rspec
|
218
|
-
requirement: !ruby/object:Gem::Requirement
|
219
|
-
requirements:
|
220
|
-
- - "~>"
|
221
|
-
- !ruby/object:Gem::Version
|
222
|
-
version: '3.8'
|
223
|
-
type: :development
|
224
|
-
prerelease: false
|
225
|
-
version_requirements: !ruby/object:Gem::Requirement
|
226
|
-
requirements:
|
227
|
-
- - "~>"
|
228
|
-
- !ruby/object:Gem::Version
|
229
|
-
version: '3.8'
|
230
|
-
- !ruby/object:Gem::Dependency
|
231
|
-
name: rubocop
|
232
|
-
requirement: !ruby/object:Gem::Requirement
|
233
|
-
requirements:
|
234
|
-
- - '='
|
235
|
-
- !ruby/object:Gem::Version
|
236
|
-
version: 1.25.1
|
237
|
-
type: :development
|
238
|
-
prerelease: false
|
239
|
-
version_requirements: !ruby/object:Gem::Requirement
|
240
|
-
requirements:
|
241
|
-
- - '='
|
242
|
-
- !ruby/object:Gem::Version
|
243
|
-
version: 1.25.1
|
244
|
-
- !ruby/object:Gem::Dependency
|
245
|
-
name: rubocop-mdsol
|
113
|
+
name: net-http-persistent
|
246
114
|
requirement: !ruby/object:Gem::Requirement
|
247
115
|
requirements:
|
248
|
-
- - "
|
249
|
-
- !ruby/object:Gem::Version
|
250
|
-
version: '0.1'
|
251
|
-
type: :development
|
252
|
-
prerelease: false
|
253
|
-
version_requirements: !ruby/object:Gem::Requirement
|
254
|
-
requirements:
|
255
|
-
- - "~>"
|
256
|
-
- !ruby/object:Gem::Version
|
257
|
-
version: '0.1'
|
258
|
-
- !ruby/object:Gem::Dependency
|
259
|
-
name: rubocop-performance
|
260
|
-
requirement: !ruby/object:Gem::Requirement
|
261
|
-
requirements:
|
262
|
-
- - '='
|
263
|
-
- !ruby/object:Gem::Version
|
264
|
-
version: 1.13.2
|
265
|
-
type: :development
|
266
|
-
prerelease: false
|
267
|
-
version_requirements: !ruby/object:Gem::Requirement
|
268
|
-
requirements:
|
269
|
-
- - '='
|
270
|
-
- !ruby/object:Gem::Version
|
271
|
-
version: 1.13.2
|
272
|
-
- !ruby/object:Gem::Dependency
|
273
|
-
name: simplecov
|
274
|
-
requirement: !ruby/object:Gem::Requirement
|
275
|
-
requirements:
|
276
|
-
- - "~>"
|
116
|
+
- - ">="
|
277
117
|
- !ruby/object:Gem::Version
|
278
|
-
version: '
|
279
|
-
type: :
|
118
|
+
version: '3.1'
|
119
|
+
type: :runtime
|
280
120
|
prerelease: false
|
281
121
|
version_requirements: !ruby/object:Gem::Requirement
|
282
122
|
requirements:
|
283
|
-
- - "
|
123
|
+
- - ">="
|
284
124
|
- !ruby/object:Gem::Version
|
285
|
-
version: '
|
125
|
+
version: '3.1'
|
286
126
|
- !ruby/object:Gem::Dependency
|
287
|
-
name:
|
127
|
+
name: rack
|
288
128
|
requirement: !ruby/object:Gem::Requirement
|
289
129
|
requirements:
|
290
|
-
- - "
|
130
|
+
- - ">"
|
291
131
|
- !ruby/object:Gem::Version
|
292
|
-
version:
|
293
|
-
type: :
|
132
|
+
version: 2.2.3
|
133
|
+
type: :runtime
|
294
134
|
prerelease: false
|
295
135
|
version_requirements: !ruby/object:Gem::Requirement
|
296
136
|
requirements:
|
297
|
-
- - "
|
137
|
+
- - ">"
|
298
138
|
- !ruby/object:Gem::Version
|
299
|
-
version:
|
139
|
+
version: 2.2.3
|
300
140
|
- !ruby/object:Gem::Dependency
|
301
|
-
name:
|
141
|
+
name: term-ansicolor
|
302
142
|
requirement: !ruby/object:Gem::Requirement
|
303
143
|
requirements:
|
304
144
|
- - "~>"
|
305
145
|
- !ruby/object:Gem::Version
|
306
|
-
version: '
|
307
|
-
type: :
|
146
|
+
version: '1.0'
|
147
|
+
type: :runtime
|
308
148
|
prerelease: false
|
309
149
|
version_requirements: !ruby/object:Gem::Requirement
|
310
150
|
requirements:
|
311
151
|
- - "~>"
|
312
152
|
- !ruby/object:Gem::Version
|
313
|
-
version: '
|
153
|
+
version: '1.0'
|
314
154
|
description: Client for signing and authentication of requests and responses with
|
315
155
|
mAuth authentication. Includes middleware for Rack and Faraday for incoming and
|
316
156
|
outgoing requests and responses.
|
@@ -322,7 +162,6 @@ executables:
|
|
322
162
|
extensions: []
|
323
163
|
extra_rdoc_files: []
|
324
164
|
files:
|
325
|
-
- ".fossa.yml"
|
326
165
|
- ".gitignore"
|
327
166
|
- ".gitmodules"
|
328
167
|
- ".rspec"
|
@@ -337,38 +176,31 @@ files:
|
|
337
176
|
- LICENSE.txt
|
338
177
|
- README.md
|
339
178
|
- Rakefile
|
179
|
+
- UPGRADE_GUIDE.md
|
340
180
|
- doc/implementations.md
|
341
181
|
- doc/mauth-client_CLI.md
|
342
182
|
- doc/mauth-proxy.md
|
343
|
-
- doc/mauth.yml.md
|
344
183
|
- examples/Gemfile
|
345
|
-
- examples/Gemfile.lock
|
346
184
|
- examples/README.md
|
347
|
-
- examples/
|
348
|
-
- examples/get_user_info.rb
|
185
|
+
- examples/get_country_info.rb
|
349
186
|
- examples/mauth_key
|
350
187
|
- exe/mauth-client
|
351
188
|
- exe/mauth-proxy
|
352
|
-
- gemfiles/faraday_0.x.gemfile
|
353
189
|
- gemfiles/faraday_1.x.gemfile
|
354
190
|
- gemfiles/faraday_2.x.gemfile
|
355
191
|
- lib/mauth-client.rb
|
356
192
|
- lib/mauth/autoload.rb
|
357
193
|
- lib/mauth/client.rb
|
358
|
-
- lib/mauth/client/
|
359
|
-
- lib/mauth/client/local_authenticator.rb
|
360
|
-
- lib/mauth/client/remote_authenticator.rb
|
194
|
+
- lib/mauth/client/authenticator.rb
|
361
195
|
- lib/mauth/client/security_token_cacher.rb
|
362
196
|
- lib/mauth/client/signer.rb
|
197
|
+
- lib/mauth/config_env.rb
|
363
198
|
- lib/mauth/core_ext.rb
|
364
|
-
- lib/mauth/dice_bag/mauth.rb.dice
|
365
|
-
- lib/mauth/dice_bag/mauth.yml.dice
|
366
|
-
- lib/mauth/dice_bag/mauth_key.dice
|
367
|
-
- lib/mauth/dice_bag/mauth_templates.rb
|
368
199
|
- lib/mauth/errors.rb
|
369
200
|
- lib/mauth/fake/rack.rb
|
370
201
|
- lib/mauth/faraday.rb
|
371
202
|
- lib/mauth/middleware.rb
|
203
|
+
- lib/mauth/private_key_helper.rb
|
372
204
|
- lib/mauth/proxy.rb
|
373
205
|
- lib/mauth/rack.rb
|
374
206
|
- lib/mauth/request_and_response.rb
|
@@ -388,7 +220,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
388
220
|
requirements:
|
389
221
|
- - ">="
|
390
222
|
- !ruby/object:Gem::Version
|
391
|
-
version: 2.
|
223
|
+
version: 2.7.0
|
392
224
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
393
225
|
requirements:
|
394
226
|
- - ">="
|
data/.fossa.yml
DELETED
@@ -1,14 +0,0 @@
|
|
1
|
-
# Generated by FOSSA CLI (https://github.com/fossas/fossa-cli)
|
2
|
-
# Visit https://fossa.io to learn more
|
3
|
-
|
4
|
-
version: 1
|
5
|
-
cli:
|
6
|
-
server: https://app.fossa.io
|
7
|
-
fetcher: custom
|
8
|
-
project: mauth-client-ruby
|
9
|
-
analyze:
|
10
|
-
modules:
|
11
|
-
- name: Gemfile
|
12
|
-
type: gem
|
13
|
-
target: .
|
14
|
-
path: .
|
data/doc/mauth.yml.md
DELETED
@@ -1,84 +0,0 @@
|
|
1
|
-
# mauth.yml
|
2
|
-
|
3
|
-
The conventional way to configure MAuth-Client for your project is through a YAML file which lives in your project at `config/mauth.yml`.
|
4
|
-
It is keyed on environment, and for the most part its contents are passed directly to instantiate an MAuth::Client.
|
5
|
-
See the documentation for [MAuth::Client#initialize](../lib/mauth/client.rb) for more details of what it accepts.
|
6
|
-
|
7
|
-
## Generating keys
|
8
|
-
|
9
|
-
To generate a private key (`mauth_key`) and its public counterpart (`mauth_key.pub`) run:
|
10
|
-
|
11
|
-
```
|
12
|
-
openssl genrsa -out mauth_key 2048
|
13
|
-
openssl rsa -in mauth_key -pubout -out mauth_key.pub
|
14
|
-
```
|
15
|
-
|
16
|
-
## Format
|
17
|
-
|
18
|
-
```yaml
|
19
|
-
common: &common
|
20
|
-
mauth_baseurl: https://mauth-innovate.imedidata.com
|
21
|
-
mauth_api_version: v1
|
22
|
-
app_uuid: 123we997-0333-44d8-8fCf-5dd555c5bd51
|
23
|
-
private_key: |
|
24
|
-
-----BEGIN RSA PRIVATE KEY-----
|
25
|
-
AIIEowIBAAKCAQEAwLYWYcKrCAl7uWVlkwzBcBXRiRREqGYLXEnRGgDrlqbY+lDg
|
26
|
-
gwMNga3ylckui/rTUZhtefx1MLtxgnTGiil45eleoJgjdfsOO5yXzUA46KW0cuL4
|
27
|
-
...
|
28
|
-
oEKe4QKBgFNbVJp3Zut83MzpN4Zu7/wZ/+q9ds9WMMxWb4hUugKQTPjsgj+8tCqa
|
29
|
-
SIY2exfsy7Y8NoOnBPlGiXKhgaF21T8kqV9C7R6OAuP0U6CgMJnINx/UjozvBENH
|
30
|
-
Ux45QdvRd6vai8nHp7AgV7rr55SxXAZVgATll84uBUpfpmC6YK/j
|
31
|
-
-----END RSA PRIVATE KEY-----
|
32
|
-
v2_only_authenticate: false
|
33
|
-
v2_only_sign_requests: false
|
34
|
-
disable_fallback_to_v1_on_v2_failure: true
|
35
|
-
|
36
|
-
production:
|
37
|
-
<<: *common
|
38
|
-
development:
|
39
|
-
<<: *common
|
40
|
-
test:
|
41
|
-
<<: *common
|
42
|
-
```
|
43
|
-
|
44
|
-
Optionally you can load the private key from a file:
|
45
|
-
|
46
|
-
```yaml
|
47
|
-
common: &common
|
48
|
-
mauth_baseurl: https://mauth-innovate.imedidata.com
|
49
|
-
mauth_api_version: v1
|
50
|
-
app_uuid: 123we997-0333-44d8-8fCf-5dd555c5bd51
|
51
|
-
private_key_file: config/my_mauth_private.key
|
52
|
-
v2_only_authenticate: false
|
53
|
-
v2_only_sign_requests: false
|
54
|
-
disable_fallback_to_v1_on_v2_failure: true
|
55
|
-
v1_only_sign_requests: false
|
56
|
-
|
57
|
-
production:
|
58
|
-
<<: *common
|
59
|
-
development:
|
60
|
-
<<: *common
|
61
|
-
test:
|
62
|
-
<<: *common
|
63
|
-
```
|
64
|
-
|
65
|
-
## Configuration options
|
66
|
-
|
67
|
-
- `private_key` - Required for signing and for authenticating responses. May be omitted if only remote authentication of requests is being performed.
|
68
|
-
- `private_key_file` - May be used instead of `private_key`, mauth-client will load the file instead.
|
69
|
-
- `app_uuid` - Required in the same circumstances where a `private_key` is required.
|
70
|
-
- `mauth_baseurl` - Required for authentication but not for signing. Needed for local authentication to retrieve public keys and for remote authentication. Usually this is `https://mauth.imedidata.com` for production.
|
71
|
-
- `mauth_api_version` - Required for authentication but not for signing. only `v1` exists as of this writing.
|
72
|
-
- `v2_only_sign_requests` - If true, all outgoing requests will be signed with only the V2 protocol. Defaults to false.
|
73
|
-
- `v2_only_authenticate` - If true, any incoming request or incoming response that does not use the V2 protocol will be rejected. Defaults to false.
|
74
|
-
- `disable_fallback_to_v1_on_v2_failure` - If true, any incoming V2 requests that fail authentication will not fall back to V1 authentication. Defaults to false.
|
75
|
-
- `v1_only_sign_requests` - If true, all outgoing requests will be signed with only the V1 protocol. Defaults to true. Note, cannot be `true` if `v2_only_sign_requests` is also `true`.
|
76
|
-
|
77
|
-
## Usage in your application
|
78
|
-
|
79
|
-
Load mauth.yml, merge in any other configuration that is needed for your usage, and pass the config along to instantiate a `MAuth::Client` or a middleware.
|
80
|
-
See the [README](../README.md) for more detail.
|
81
|
-
|
82
|
-
## Usage in MAuth-Client executables (mauth-client, mauth-proxy)
|
83
|
-
|
84
|
-
See the [MAuth-Client CLI Tool doc](./mauth-client_CLI.md#configuration).
|
data/examples/Gemfile.lock
DELETED
@@ -1,69 +0,0 @@
|
|
1
|
-
PATH
|
2
|
-
remote: ..
|
3
|
-
specs:
|
4
|
-
mauth-client (6.4.3)
|
5
|
-
addressable (~> 2.0)
|
6
|
-
coderay (~> 1.0)
|
7
|
-
dice_bag (>= 0.9, < 2.0)
|
8
|
-
faraday (>= 0.9, < 3.0)
|
9
|
-
faraday-http-cache (>= 2.0, < 3.0)
|
10
|
-
rack (> 2.2.3)
|
11
|
-
term-ansicolor (~> 1.0)
|
12
|
-
|
13
|
-
GEM
|
14
|
-
remote: https://rubygems.org/
|
15
|
-
specs:
|
16
|
-
addressable (2.8.1)
|
17
|
-
public_suffix (>= 2.0.2, < 6.0)
|
18
|
-
coderay (1.1.3)
|
19
|
-
dice_bag (1.6.1)
|
20
|
-
diff-lcs (~> 1.0)
|
21
|
-
rake
|
22
|
-
thor (< 2.0)
|
23
|
-
diff-lcs (1.5.0)
|
24
|
-
faraday (1.10.2)
|
25
|
-
faraday-em_http (~> 1.0)
|
26
|
-
faraday-em_synchrony (~> 1.0)
|
27
|
-
faraday-excon (~> 1.1)
|
28
|
-
faraday-httpclient (~> 1.0)
|
29
|
-
faraday-multipart (~> 1.0)
|
30
|
-
faraday-net_http (~> 1.0)
|
31
|
-
faraday-net_http_persistent (~> 1.0)
|
32
|
-
faraday-patron (~> 1.0)
|
33
|
-
faraday-rack (~> 1.0)
|
34
|
-
faraday-retry (~> 1.0)
|
35
|
-
ruby2_keywords (>= 0.0.4)
|
36
|
-
faraday-em_http (1.0.0)
|
37
|
-
faraday-em_synchrony (1.0.0)
|
38
|
-
faraday-excon (1.1.0)
|
39
|
-
faraday-http-cache (2.4.1)
|
40
|
-
faraday (>= 0.8)
|
41
|
-
faraday-httpclient (1.0.1)
|
42
|
-
faraday-multipart (1.0.4)
|
43
|
-
multipart-post (~> 2)
|
44
|
-
faraday-net_http (1.0.1)
|
45
|
-
faraday-net_http_persistent (1.2.0)
|
46
|
-
faraday-patron (1.0.0)
|
47
|
-
faraday-rack (1.0.0)
|
48
|
-
faraday-retry (1.0.3)
|
49
|
-
multipart-post (2.2.3)
|
50
|
-
public_suffix (5.0.0)
|
51
|
-
rack (3.0.0)
|
52
|
-
rake (13.0.6)
|
53
|
-
ruby2_keywords (0.0.5)
|
54
|
-
sync (0.5.0)
|
55
|
-
term-ansicolor (1.7.1)
|
56
|
-
tins (~> 1.0)
|
57
|
-
thor (1.2.1)
|
58
|
-
tins (1.31.1)
|
59
|
-
sync
|
60
|
-
|
61
|
-
PLATFORMS
|
62
|
-
ruby
|
63
|
-
|
64
|
-
DEPENDENCIES
|
65
|
-
faraday (~> 1.0)
|
66
|
-
mauth-client!
|
67
|
-
|
68
|
-
BUNDLED WITH
|
69
|
-
2.2.29
|
data/examples/config.yml
DELETED
@@ -1,12 +0,0 @@
|
|
1
|
-
imedidata:
|
2
|
-
host: https://innovate.imedidata.com
|
3
|
-
|
4
|
-
mauth:
|
5
|
-
mauth_baseurl: https://mauth-innovate.imedidata.com
|
6
|
-
mauth_api_version: v1
|
7
|
-
app_uuid: <APP UUID>
|
8
|
-
private_key_file: ./mauth_key
|
9
|
-
v2_only_authenticate: false
|
10
|
-
v2_only_sign_requests: false
|
11
|
-
disable_fallback_to_v1_on_v2_failure: true
|
12
|
-
v1_only_sign_requests: false
|
data/examples/get_user_info.rb
DELETED
@@ -1,58 +0,0 @@
|
|
1
|
-
#!/usr/bin/env ruby
|
2
|
-
# frozen_string_literal: true
|
3
|
-
|
4
|
-
abort "USAGE: ./#{__FILE__} <USER UUID>" unless ARGV.size == 1
|
5
|
-
|
6
|
-
require 'bundler/setup'
|
7
|
-
Bundler.require(:default)
|
8
|
-
|
9
|
-
def config
|
10
|
-
@config ||= YAML.safe_load(File.open('./config.yml'))
|
11
|
-
end
|
12
|
-
|
13
|
-
# get user information
|
14
|
-
def get_user_info_mauth(user_uuid)
|
15
|
-
get_data_from_imedidata "users/#{user_uuid}.json"
|
16
|
-
end
|
17
|
-
|
18
|
-
# fetch data from iMedidata
|
19
|
-
def get_data_from_imedidata(resource_name)
|
20
|
-
puts "fetching #{resource_name}..."
|
21
|
-
begin
|
22
|
-
connection = Faraday::Connection.new(url: config['imedidata']['host']) do |builder|
|
23
|
-
builder.use MAuth::Faraday::RequestSigner, config['mauth']
|
24
|
-
builder.adapter Faraday.default_adapter
|
25
|
-
end
|
26
|
-
|
27
|
-
# get the data
|
28
|
-
response = connection.get "/api/v2/#{resource_name}"
|
29
|
-
puts "HTTP #{response.status}"
|
30
|
-
|
31
|
-
# return the user info
|
32
|
-
if response.status == 200
|
33
|
-
result = JSON.parse(response.body)
|
34
|
-
puts JSON.pretty_generate(result)
|
35
|
-
result
|
36
|
-
else
|
37
|
-
puts response.body
|
38
|
-
nil
|
39
|
-
end
|
40
|
-
rescue JSON::ParserError => e
|
41
|
-
puts "Error parsing data from imedidata: #{e.inspect}"
|
42
|
-
puts e.backtrace.join("\n")
|
43
|
-
end
|
44
|
-
end
|
45
|
-
|
46
|
-
get_user_info_mauth(ARGV[0])
|
47
|
-
|
48
|
-
### OTHER EXAMPLES
|
49
|
-
|
50
|
-
#### get study groups for an user
|
51
|
-
def get_study_groups_mauth(user_uuid)
|
52
|
-
get_data_from_imedidata "users/#{user_uuid}/study_groups.json"
|
53
|
-
end
|
54
|
-
|
55
|
-
#### get roles for a user in an application study
|
56
|
-
def get_user_study_roles_mauth(user_uuid, study_uuid)
|
57
|
-
get_data_from_imedidata "users/#{user_uuid}/studies/#{study_uuid}/apps/#{config["mauth"]["app_uuid"]}/roles.json"
|
58
|
-
end
|