zaikio-oauth_client 0.9.0 → 0.10.0

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: 6e956bf122053d559c2dd918f4b90a23c10559bc5578442bc26dbe1530a3396b
4
- data.tar.gz: 0d594a45ddf589b03d9e43817885377d963934345fa6cb936b367fe64761e08a
3
+ metadata.gz: 84383fd7b0b03f23cc671489124b6b8f90613cad840bd668080ea04c59a4ff54
4
+ data.tar.gz: e7b8f6759983ffad763780b392be0500888affd117c1ccfb9f87449ed1b1a9de
5
5
  SHA512:
6
- metadata.gz: 38355e0660ea6b2fd2c1b13a23a75626b5d4ae4efd3e64eb21396893e4a2ffc39c34824f373e994f596e4064455a8ad596b63b5e595c16afa844ffcddc90e56a
7
- data.tar.gz: 1cb76ea316682fc4a4394d27ad252cc67496e95fa9034ba7054ad6e9b472a211f78cb1c839c9f4c745b143804c04aef5c85616c4f6f344f378e19bf12420db53
6
+ metadata.gz: caae8092591d3d47a03ddf598d8da76d474cc45ff01e5799f140d8dbad3ca171294217ceddc1e0ffbc364f8efd3153c5222e51711afbd8f17d39daf1f01f409b
7
+ data.tar.gz: 2759d26c2826f6cf06aba7c7673eaf2ee7cf30914ca4c965eefe99409efb575916c4fe0cfdde315ed64f95e20720b83712ae2d5bb3a9820dfedb908a9e38e094
@@ -2,15 +2,21 @@ module Zaikio
2
2
  module OAuthClient
3
3
  class SubscriptionsController < ConnectionsController
4
4
  def new
5
- opts = params.permit(:client_name, :state, :plan)
6
- client_name = opts.delete(:client_name)
7
- plan = opts.delete(:plan)
5
+ opts = params.permit(:client_name, :state, :plan, :organization_id)
6
+
7
+ plan = opts.delete(:plan)
8
+ organization_id = opts.delete(:organization_id)
9
+
10
+ subscription_scope = if organization_id.present?
11
+ "Org/#{organization_id}.subscription_create"
12
+ else
13
+ "Org.subscription_create"
14
+ end
8
15
 
9
- subscription_scope = "Org.subscription_create"
10
16
  subscription_scope << ".#{plan}" if plan.present?
11
17
 
12
18
  redirect_to oauth_client.auth_code.authorize_url(
13
- redirect_uri: approve_url(client_name),
19
+ redirect_uri: approve_url(opts.delete(:client_name)),
14
20
  scope: subscription_scope,
15
21
  **opts
16
22
  )
@@ -82,14 +82,25 @@ module Zaikio
82
82
  # Finds the best usable access token. Note that this token may have expired and
83
83
  # would require refreshing.
84
84
  def find_usable_access_token(client_name:, bearer_type:, bearer_id:, requested_scopes:)
85
- Zaikio::AccessToken
86
- .where(audience: client_name)
87
- .usable(
88
- bearer_type: bearer_type,
89
- bearer_id: bearer_id,
90
- requested_scopes: requested_scopes
91
- )
92
- .first
85
+ configuration.logger.debug "Try to fetch token for client_name: #{client_name}, "\
86
+ "bearer #{bearer_type}/#{bearer_id}, requested_scopes: #{requested_scopes}"
87
+
88
+ fetch_access_token = lambda {
89
+ Zaikio::AccessToken
90
+ .where(audience: client_name)
91
+ .usable(
92
+ bearer_type: bearer_type,
93
+ bearer_id: bearer_id,
94
+ requested_scopes: requested_scopes
95
+ )
96
+ .first
97
+ }
98
+
99
+ if configuration.logger.respond_to?(:silence)
100
+ configuration.logger.silence { fetch_access_token.call }
101
+ else
102
+ fetch_access_token.call
103
+ end
93
104
  end
94
105
 
95
106
  def fetch_new_token(client_config:, bearer_type:, bearer_id:, scopes:)
@@ -13,7 +13,6 @@ module Zaikio
13
13
  }.freeze
14
14
 
15
15
  attr_accessor :host
16
- attr_writer :logger
17
16
  attr_reader :client_configurations, :environment, :around_auth_block,
18
17
  :sessions_controller_name, :connections_controller_name, :subscriptions_controller_name
19
18
 
@@ -23,10 +22,16 @@ module Zaikio
23
22
  @sessions_controller_name = "sessions"
24
23
  @connections_controller_name = "connections"
25
24
  @subscriptions_controller_name = "subscriptions"
25
+ Zaikio::AccessToken.logger = logger
26
26
  end
27
27
 
28
28
  def logger
29
- @logger ||= Logger.new($stdout)
29
+ @logger ||= ActiveSupport::Logger.new($stdout)
30
+ end
31
+
32
+ def logger=(logger)
33
+ @logger = logger
34
+ Zaikio::AccessToken.logger = @logger
30
35
  end
31
36
 
32
37
  def register_client(name)
@@ -1,5 +1,5 @@
1
1
  module Zaikio
2
2
  module OAuthClient
3
- VERSION = "0.9.0".freeze
3
+ VERSION = "0.10.0".freeze
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: zaikio-oauth_client
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.0
4
+ version: 0.10.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Zaikio GmbH
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-04-13 00:00:00.000000000 Z
11
+ date: 2021-04-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: actionpack