zaikio-directory 0.0.4 → 0.0.5

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
  SHA256:
3
- metadata.gz: a7ef75dc6ee042011c910847b2aa846d7d7ba42dab672996f40f632275b7167f
4
- data.tar.gz: b89095ce06617faf5e2f16b6991b9cb0d33e0132df708e5f6b227ae7eff558d8
3
+ metadata.gz: 1ee582c20c55f62a0b07e24dc51924982c4ed5fb0e8853c92042c1485ff91319
4
+ data.tar.gz: 8f886aae2708711336ca2a2911beeb8a769680cd821334f7525ce9f01b544f6d
5
5
  SHA512:
6
- metadata.gz: 1135794a94bd3f3d8e08fa604c711460ebfe30e2dce7732423de6811ee5e50521087fd9dc59a523911122303a83a2fe658c84e2be96740d4a4b3bdf34b1ebdef
7
- data.tar.gz: c2f2680ca3fb5460046ea561ac94bca25b7b78f19e3b24db91082034050ea1801a63f7985edaf7681e239a7c079139c87a0c958da4341599e11142c12a58f7f1
6
+ metadata.gz: 0152acb74f6a20207cc649d4f7e8d0ced6c78d54480ba81411d933146bd6af0b4fb33f4e604b07107ab265c1e7822a110d05d13a947bc454a449b24da26661c4
7
+ data.tar.gz: f4b338c8f5853fb6b8ef594d2d1b2ef08de1b6b8860d1e31fec189a7a847810e0a8af58f3702cf4f91265c2d31080530e30486fe62a353a42443f0e110527b97
@@ -3,6 +3,7 @@ require "spyke"
3
3
  require "zaikio/directory/configuration"
4
4
  require "zaikio/directory/json_parser"
5
5
  require "zaikio/directory/authorization_middleware"
6
+ require "zaikio/directory/basic_auth_middleware"
6
7
 
7
8
  # Models
8
9
  require "zaikio/directory/base"
@@ -18,6 +19,7 @@ require "zaikio/directory/current_person"
18
19
  require "zaikio/directory/current_organization"
19
20
  require "zaikio/directory/role"
20
21
  require "zaikio/directory/revoked_access_token"
22
+ require "zaikio/directory/connection"
21
23
 
22
24
  module Zaikio
23
25
  module Directory
@@ -39,6 +41,13 @@ module Zaikio
39
41
  AuthorizationMiddleware.reset_token
40
42
  end
41
43
 
44
+ def with_basic_auth(login, password)
45
+ BasicAuthMiddleware.credentials [login, password]
46
+ yield
47
+ ensure
48
+ BasicAuthMiddleware.reset_credentials
49
+ end
50
+
42
51
  def current_token_data
43
52
  return unless AuthorizationMiddleware.token
44
53
 
@@ -53,6 +62,7 @@ module Zaikio
53
62
  c.response :logger, configuration&.logger
54
63
  c.use JSONParser
55
64
  c.use AuthorizationMiddleware
65
+ c.use BasicAuthMiddleware
56
66
  c.adapter Faraday.default_adapter
57
67
  end
58
68
  end
@@ -0,0 +1,27 @@
1
+ require "faraday"
2
+ require "base64"
3
+
4
+ module Zaikio
5
+ module Directory
6
+ class BasicAuthMiddleware < Faraday::Middleware
7
+ def self.reset_credentials
8
+ @credentials = nil
9
+ end
10
+
11
+ def self.credentials(credentials = nil)
12
+ @credentials = credentials || @credentials
13
+ end
14
+
15
+ def call(request_env)
16
+ if self.class.credentials
17
+ value = Base64.encode64(self.class.credentials.join(":"))
18
+ value.delete!("\n")
19
+ request_env[:request_headers]["Authorization"] = "Basic #{value}"
20
+ end
21
+
22
+ @app.call(request_env).on_complete do |response_env|
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,9 @@
1
+ module Zaikio
2
+ module Directory
3
+ class Connection < Base
4
+ uri "connections"
5
+
6
+ include_root_in_json :connection
7
+ end
8
+ end
9
+ end
@@ -1,5 +1,5 @@
1
1
  module Zaikio
2
2
  module Directory
3
- VERSION = "0.0.4".freeze
3
+ VERSION = "0.0.5".freeze
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: zaikio-directory
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Zaikio GmbH
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-04-07 00:00:00.000000000 Z
11
+ date: 2020-04-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: jwt
@@ -79,8 +79,10 @@ files:
79
79
  - lib/zaikio/directory.rb
80
80
  - lib/zaikio/directory/authorization_middleware.rb
81
81
  - lib/zaikio/directory/base.rb
82
+ - lib/zaikio/directory/basic_auth_middleware.rb
82
83
  - lib/zaikio/directory/business_relationship.rb
83
84
  - lib/zaikio/directory/configuration.rb
85
+ - lib/zaikio/directory/connection.rb
84
86
  - lib/zaikio/directory/current_organization.rb
85
87
  - lib/zaikio/directory/current_person.rb
86
88
  - lib/zaikio/directory/json_parser.rb