soar_authentication_token 3.0.1 → 3.0.2

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 23da4fea7363812826b73593843070c18eb1459c
4
- data.tar.gz: 181434c48fe12905e1ac5a2abe9300b5cc0f2d8f
3
+ metadata.gz: f65a1f8050aa7a3c6433614faa12ae71b3f2dbb3
4
+ data.tar.gz: f0715f429de1c7d386358b4f19f15a00cd361cd5
5
5
  SHA512:
6
- metadata.gz: adfe3f6636c98468a4c01918360eedc300e59bba8aa20091648bab8f51fff54ddcc3de8fbba0a84719aed6129cf002cc3e7d286bd1e0f4c40d5052f1b25e6224
7
- data.tar.gz: 5c973a1d349f0cd09c4d4cc0dadf91223587a17f8c2de6884cc3183e09c984dff826967f5463c9c5a56cbd985d8c1d76de2bac2b8dfec7ce397501bad6cb44b7
6
+ metadata.gz: 700d5c18e4e8439a5f42fffb5a82ce2397331a94f85db82d7626ec0e173763c6de796bef39df192b61792671dd6fc70d327fe30f61a82663dbff55b231331681
7
+ data.tar.gz: ffcd9ffd9c7d9a97c64c87cb6f66ce95a140d4581606ecb9112a57911329e1dd40e98263a2a5b8072b4f5dd4b11d4759be38a3323664ecdc2aa661ca4d4ce402
data/docker-compose.yml CHANGED
@@ -12,18 +12,20 @@ services:
12
12
  authentication-token-generator-service:
13
13
  build: authentication-token-generator-service
14
14
  image: authentication-token-generator-service
15
+ command: soaring start -e production
15
16
  expose:
16
17
  - "9393"
17
18
  volumes:
18
19
  - ./authentication-token-generator-service:/usr/local/src/
19
20
  environment:
20
- - RACK_ENV=development
21
+ - RACK_ENV=production
21
22
  - ENVIRONMENT_FILE=environment_local_ecosystem.yml
22
23
  links:
23
24
  - authentication-token-store
24
25
  authentication-token-validator-service:
25
26
  build: authentication-token-validator-service
26
27
  image: authentication-token-validator-service
28
+ command: soaring start -e production
27
29
  expose:
28
30
  - "9393"
29
31
  volumes:
@@ -36,7 +38,7 @@ services:
36
38
  authentication-token-store:
37
39
  build: authentication-token-store
38
40
  image: authentication-token-store
39
- command: soaring start
41
+ command: soaring start -e development
40
42
  expose:
41
43
  - "9393"
42
44
  environment:
@@ -37,16 +37,18 @@ module SoarAuthenticationToken
37
37
  end
38
38
 
39
39
  def generate_remotely(authenticated_identifier,flow_identifier)
40
- uri = URI.parse(@configuration['generator-url'])
41
-
42
- request = Net::HTTP::Post.new uri
43
- request.set_form_data({'flow_identifier' => flow_identifier})
44
- request.body = { 'authenticated_identifier' => authenticated_identifier }.to_json
45
- response = Net::HTTP.start(uri.host, uri.port, :use_ssl => uri.scheme == 'https') { |http|
46
- http.request request
47
- }
40
+ client = authenticated_client(authenticated_identifier,flow_identifier)
41
+ validate_and_extract_token_from_response(client.request)
42
+ end
48
43
 
49
- validate_and_extract_token_from_response(response)
44
+ def authenticated_client(authenticated_identifier,flow_identifier)
45
+ client = SoarAuthenticationToken::AuthenticatedClient.new
46
+ client.url = @configuration['generator-url']
47
+ client.token = @configuration['generator-client-auth-token']
48
+ client.verb = :post
49
+ client.parameters = {'flow_identifier' => flow_identifier}
50
+ client.body = { 'authenticated_identifier' => authenticated_identifier }
51
+ client
50
52
  end
51
53
 
52
54
  def validate_and_extract_token_from_response(response)
@@ -1,3 +1,3 @@
1
1
  module SoarAuthenticationToken
2
- VERSION = '3.0.1'
2
+ VERSION = '3.0.2'
3
3
  end
@@ -22,7 +22,6 @@ Gem::Specification.new do |spec|
22
22
  spec.add_dependency 'soar_xt', '~> 0.0.3'
23
23
  spec.add_dependency 'jwt', '~> 1.5', '>= 1.5.6'
24
24
  spec.add_dependency "rack", '~> 1.6', '>= 1.6.4'
25
- spec.add_dependency 'auth_token_store_provider', '~> 1.0.0'
26
25
 
27
26
  spec.add_development_dependency 'pry', '~> 0'
28
27
  spec.add_development_dependency 'bundler', '~> 1.3'
@@ -0,0 +1,41 @@
1
+ require 'spec_helper'
2
+
3
+ describe SoarAuthenticationToken::AuthenticatedClient do
4
+ before :each do
5
+ end
6
+
7
+ it 'has a version number' do
8
+ expect(SoarAuthenticationToken::VERSION).not_to be nil
9
+ end
10
+
11
+ context "when performing an authenticated request" do
12
+ context "with a valid token" do
13
+ it 'respond with a successful request' do
14
+ @iut = SoarAuthenticationToken::AuthenticatedClient.new
15
+ @iut.url = 'http://authentication-token-generator-service:9393/generate'
16
+ @iut.token = 'test_ecosystem_token_for_auth_token_aaapi_authenticator_service'
17
+ @iut.verb = :post
18
+ @iut.parameters = {}
19
+ @iut.body = {}
20
+ @iut.auditing = nil
21
+
22
+ response = @iut.request
23
+ expect(response.code).to eq '200'
24
+ end
25
+ end
26
+ context "with an invalid token" do
27
+ it 'respond unauthorized' do
28
+ @iut = SoarAuthenticationToken::AuthenticatedClient.new
29
+ @iut.url = 'http://authentication-token-generator-service:9393/generate'
30
+ @iut.token = 'invalid'
31
+ @iut.verb = :post
32
+ @iut.parameters = {}
33
+ @iut.body = {}
34
+ @iut.auditing = nil
35
+
36
+ response = @iut.request
37
+ expect(response.code).to eq '401'
38
+ end
39
+ end
40
+ end
41
+ end
@@ -10,7 +10,8 @@ describe SoarAuthenticationToken::RackMiddleware do
10
10
  private_key, public_key = keypair_generator.generate
11
11
  configuration = {
12
12
  'mode' => 'remote',
13
- 'generator-url' => 'http://authentication-token-generator-service:9393/generate'
13
+ 'generator-url' => 'http://authentication-token-generator-service:9393/generate',
14
+ 'generator-client-auth-token' => 'test_ecosystem_token_for_auth_token_aaapi_authenticator_service'
14
15
  }
15
16
  generator = SoarAuthenticationToken::TokenGenerator.new(configuration)
16
17
  generator.inject_store_provider(get_store)
@@ -19,7 +19,8 @@ describe SoarAuthenticationToken::TokenGenerator do
19
19
  @configuration_remote = {
20
20
  'mode' => 'remote',
21
21
  'generator-url' => 'http://authentication-token-generator-service:9393/generate',
22
- 'validator-url' => 'http://authentication-token-validator-service:9393/validate'
22
+ 'validator-url' => 'http://authentication-token-validator-service:9393/validate',
23
+ 'generator-client-auth-token' => 'test_ecosystem_token_for_auth_token_aaapi_authenticator_service'
23
24
  }
24
25
 
25
26
  @test_store = AuthTokenStoreProvider::StubClient.new
@@ -54,10 +54,12 @@ describe SoarAuthenticationToken::TokenValidator do
54
54
  @remote_generator_configuration = {
55
55
  'mode' => 'remote',
56
56
  'generator-url' => 'http://authentication-token-generator-service:9393/generate',
57
+ 'generator-client-auth-token' => 'test_ecosystem_token_for_auth_token_aaapi_authenticator_service'
57
58
  }
58
59
  @remote_validator_configuration = {
59
60
  'mode' => 'remote',
60
- 'validator-url' => 'http://authentication-token-validator-service:9393/validate'
61
+ 'validator-url' => 'http://authentication-token-validator-service:9393/validate',
62
+ 'generator-client-auth-token' => 'test_ecosystem_token_for_auth_token_aaapi_authenticator_service'
61
63
  }
62
64
  @local_valid_generator = SoarAuthenticationToken::TokenGenerator.new(@local_valid_generator_configuration)
63
65
  @local_valid_generator.inject_store_provider(@test_store)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: soar_authentication_token
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.1
4
+ version: 3.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Barney de Villiers
@@ -64,20 +64,6 @@ dependencies:
64
64
  - - ">="
65
65
  - !ruby/object:Gem::Version
66
66
  version: 1.6.4
67
- - !ruby/object:Gem::Dependency
68
- name: auth_token_store_provider
69
- requirement: !ruby/object:Gem::Requirement
70
- requirements:
71
- - - "~>"
72
- - !ruby/object:Gem::Version
73
- version: 1.0.0
74
- type: :runtime
75
- prerelease: false
76
- version_requirements: !ruby/object:Gem::Requirement
77
- requirements:
78
- - - "~>"
79
- - !ruby/object:Gem::Version
80
- version: 1.0.0
81
67
  - !ruby/object:Gem::Dependency
82
68
  name: pry
83
69
  requirement: !ruby/object:Gem::Requirement
@@ -192,6 +178,7 @@ files:
192
178
  - sanity/sanity.rb
193
179
  - sanity/sanity_benchmark.rb
194
180
  - soar_authentication_token.gemspec
181
+ - spec/auth_client_spec.rb
195
182
  - spec/keypair_generator_spec.rb
196
183
  - spec/rack_middleware_spec.rb
197
184
  - spec/spec_helper.rb
@@ -222,6 +209,7 @@ signing_key:
222
209
  specification_version: 4
223
210
  summary: Client library for Hetzner's authentication token service
224
211
  test_files:
212
+ - spec/auth_client_spec.rb
225
213
  - spec/keypair_generator_spec.rb
226
214
  - spec/rack_middleware_spec.rb
227
215
  - spec/spec_helper.rb