oauth_im 0.14.1 → 0.15.1

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: 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