zaikio-directory 0.0.4 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
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