oauth_im 0.14.1 → 0.15.1

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: c1ff274fe0d63b2497c11f24be1e022aa087922838cc41f653fbf2f47f3b6696
4
- data.tar.gz: 69b1a55b21d3f59a927fb2989c3475f59ab7469a92495a1d046b7f699c2bf407
3
+ metadata.gz: 43d9ae7d853f98f0cafe43420959218c2a85cf7b87a76c719db8ec6dba3fc274
4
+ data.tar.gz: e997dc7ee11af0976eb451c8b025286b2b988e7d4a749fd4668b5e481a00a2ea
5
5
  SHA512:
6
- metadata.gz: d9facffb072ec3a07c9caf36f1b366bd2bd9112575d145a1275f365fc94e153a428855be9d6a059c79225919cf88de0fc9c755152f18dac43041709da2cd7527
7
- data.tar.gz: 9e49eac286d026051127845aad1006070b35fa2bcd0c6d24e48637b78eef223f75cf3b017a4b3e1d1b3919894120ba71503a9a8f06377b34999089b587303e06
6
+ metadata.gz: eb676b5995e44372dec671b97bf903a7c68b4e082eb76763161b6f6cdea533daca7502689701f5255b23f835325ef40a6f14e21fa8bd99976cb7c95a1edba69c
7
+ data.tar.gz: 517966a4743b43427647e09c58039b8dfd53bdbaebd992cdc06181146b242f28083067c08979b11509b59b8e1bc5d09234edd3b97a6372f405570596914ece85
@@ -2,16 +2,30 @@
2
2
 
3
3
  module OauthIm
4
4
  class Client
5
- def self.for(request: nil, user_jwt: nil, secure_id: nil)
5
+ # rubocop:disable Metrics/ParameterLists, Metrics/MethodLength
6
+ def self.for(request: nil,
7
+ user_jwt: nil,
8
+ secure_id: nil,
9
+ client_id: nil,
10
+ api_key: nil,
11
+ idp_url: nil)
6
12
  if request.present?
7
- RequestClient.new request: request
13
+ RequestClient.new request: request,
14
+ client_id: client_id,
15
+ idp_url: idp_url
8
16
  elsif user_jwt.present?
9
- UserClient.new user_jwt: user_jwt
17
+ UserClient.new user_jwt: user_jwt,
18
+ api_key: api_key,
19
+ idp_url: idp_url
10
20
  elsif secure_id.present?
11
- RegistrationClient.new secure_id: secure_id
21
+ RegistrationClient.new secure_id: secure_id,
22
+ api_key: api_key,
23
+ idp_url: idp_url
12
24
  else
13
- raise ArgumentError
25
+ AdminClient.new api_key: api_key,
26
+ idp_url: idp_url
14
27
  end
15
28
  end
29
+ # rubocop:enable Metrics/ParameterLists, Metrics/MethodLength
16
30
  end
17
31
  end
@@ -4,10 +4,23 @@ require 'fusionauth/fusionauth_client'
4
4
 
5
5
  module OauthIm
6
6
  class IdpClient
7
- private
7
+ attr_reader :api_key, :idp_url
8
+
9
+ def self.default_api_key
10
+ @default_api_key ||= OauthIm.configuration.api_key
11
+ end
12
+
13
+ def self.default_idp_url
14
+ @default_idp_url ||= OauthIm.configuration.idp_url
15
+ end
16
+
17
+ def initialize(api_key: nil,
18
+ idp_url: nil)
19
+ @api_key = api_key || self.class.default_api_key
20
+ @idp_url = idp_url || self.class.default_idp_url
21
+ end
8
22
 
9
- delegate :configuration, to: OauthIm
10
- delegate :api_key, :idp_url, to: :configuration
23
+ private
11
24
 
12
25
  def client
13
26
  @client ||= ::FusionAuth::FusionAuthClient.new api_key, idp_url
@@ -18,8 +18,9 @@ module OauthIm
18
18
  attr_reader :attrs
19
19
 
20
20
  def initialize(attrs)
21
- @attrs = attrs
22
- super()
21
+ @attrs = (attrs || {}).with_indifferent_access
22
+ super api_key: @attrs[:api_key],
23
+ idp_url: @attrs[:idp_url]
23
24
  end
24
25
 
25
26
  def grant_sponsorship
@@ -4,9 +4,11 @@ module OauthIm
4
4
  class RegistrationClient < IdpClient
5
5
  attr_reader :secure_id
6
6
 
7
- def initialize(secure_id:)
7
+ def initialize(secure_id:,
8
+ api_key: nil,
9
+ idp_url: nil)
8
10
  @secure_id = secure_id
9
- super()
11
+ super api_key: api_key, idp_url: idp_url
10
12
  end
11
13
 
12
14
  def register(submission_params:)
@@ -2,10 +2,22 @@
2
2
 
3
3
  module OauthIm
4
4
  class RequestClient
5
- attr_reader :request
5
+ attr_reader :request, :idp_url, :client_id
6
6
 
7
- def initialize(request:)
8
- @request = request
7
+ def self.default_idp_url
8
+ @default_idp_url ||= OauthIm.configuration.idp_url
9
+ end
10
+
11
+ def self.default_client_id
12
+ @default_client_id ||= OauthIm.configuration.client_id
13
+ end
14
+
15
+ def initialize(request:,
16
+ client_id: nil,
17
+ idp_url: nil)
18
+ @request = request
19
+ @idp_url = idp_url || self.class.default_idp_url
20
+ @client_id = client_id || self.class.default_client_id
9
21
  end
10
22
 
11
23
  def login_url
@@ -24,7 +36,7 @@ module OauthIm
24
36
 
25
37
  delegate :host_with_port, :params, to: :request
26
38
  delegate :configuration, to: OauthIm
27
- delegate :authorize_url, :token_url, :idp_url, :client_id, :client_secret,
39
+ delegate :authorize_url, :token_url, :client_secret,
28
40
  to: :configuration
29
41
  delegate :auth_code, to: :oauth_client
30
42
 
@@ -8,9 +8,11 @@ module OauthIm
8
8
 
9
9
  attr_reader :user_jwt
10
10
 
11
- def initialize(user_jwt:)
11
+ def initialize(user_jwt:,
12
+ api_key: nil,
13
+ idp_url: nil)
12
14
  @user_jwt = user_jwt&.with_indifferent_access
13
- super()
15
+ super api_key: api_key, idp_url: idp_url
14
16
  end
15
17
 
16
18
  def email
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module OauthIm
4
- VERSION = '0.14.1'
4
+ VERSION = '0.15.1'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: oauth_im
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.14.1
4
+ version: 0.15.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Eric Connally
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-01-27 00:00:00.000000000 Z
11
+ date: 2024-04-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: fusionauth_client