kinde_sdk 1.2.3 → 1.3.0

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: 1553814bbc9fcac3dc85f89b46680f81626d6a86771f900fae97fabe5bfb12e6
4
- data.tar.gz: a6e89557f44e9483cc9d96e6ec97bcdf402d4995df2e0653ddb11be054913542
3
+ metadata.gz: 8c359bdcb6d579be388fe1461d4305a5c10dacdc27f1fc06d244db3c042d247c
4
+ data.tar.gz: e1be276fe179c87fba4060317630cf85e29b91d1f05f52837eaaeaf5a227fb38
5
5
  SHA512:
6
- metadata.gz: e1110fef072979b2a720c84a468943bccef437dd477d39764b9fae8a85f78680365b40f640535bcdb37aee19652de5761dfc8a5093d6df425130754344809649
7
- data.tar.gz: 3d36f72b26a3616967b19c31ac36ed465ae7bc515ef88207bf472ac621704b572de6200ebc0230580a7668b7eca9cf2923b35ef146f69843ea57f44ca6b55832
6
+ metadata.gz: fa55ff69411d58b639df64c43f65ed26e10ccc3f54a6e65d5ef421936c3e50759cdaca26003146c0b7f6befa704603304e7488da4112b15e7c5271bdc7f724f7
7
+ data.tar.gz: 7fc8ada7e5d0a1d958f787898a98f0eeb68b4597dfe4affa66811f5167d04b744cbb2067db0b32b94c6bab96bca50c6813a9697c9b703cd385e3010a3dc3f144
@@ -36,7 +36,7 @@ module KindeSdk
36
36
  yield(self) if block_given?
37
37
  end
38
38
 
39
- def oauth_client
39
+ def oauth_client(client_id: @client_id, client_secret: @client_secret, domain: @domain, authorize_url: @authorize_url, token_url: @token_url )
40
40
  ::OAuth2::Client.new(
41
41
  client_id,
42
42
  client_secret,
@@ -1,3 +1,3 @@
1
1
  module KindeSdk
2
- VERSION = "1.2.3"
2
+ VERSION = "1.3.0"
3
3
  end
data/lib/kinde_sdk.rb CHANGED
@@ -27,18 +27,33 @@ module KindeSdk
27
27
  # receive url for authorization in Kinde itself
28
28
  #
29
29
  # @return [Hash]
30
- def auth_url(redirect_uri: @config.callback_url, **kwargs)
30
+ def auth_url(
31
+ client_id: @config.client_id,
32
+ client_secret: @config.client_secret,
33
+ domain: @config.domain,
34
+ redirect_uri: @config.callback_url,
35
+ **kwargs)
31
36
  params = {
32
37
  redirect_uri: redirect_uri,
33
38
  state: SecureRandom.hex,
34
39
  scope: @config.scope
35
40
  }.merge(**kwargs)
36
- return { url: @config.oauth_client.auth_code.authorize_url(params) } unless @config.pkce_enabled
41
+ return { url: @config.oauth_client(
42
+ client_id: client_id,
43
+ client_secret: client_secret,
44
+ domain: domain,
45
+ authorize_url: "#{domain}/oauth2/auth",
46
+ token_url: "#{domain}/oauth2/token").auth_code.authorize_url(params) } unless @config.pkce_enabled
37
47
 
38
48
  pkce_challenge = PkceChallenge.challenge(char_length: 128)
39
49
  params.merge!(code_challenge_method: 'S256', code_challenge: pkce_challenge.code_challenge)
40
50
  {
41
- url: @config.oauth_client.auth_code.authorize_url(params),
51
+ url: @config.oauth_client(
52
+ client_id: client_id,
53
+ client_secret: client_secret,
54
+ domain: domain,
55
+ authorize_url: "#{domain}/oauth2/auth",
56
+ token_url: "#{domain}/oauth2/token").auth_code.authorize_url(params),
42
57
  code_verifier: pkce_challenge.code_verifier
43
58
  }
44
59
  end
@@ -46,14 +61,25 @@ module KindeSdk
46
61
  # when callback processor receives code, it needs to be used for fetching bearer token
47
62
  #
48
63
  # @return [Hash]
49
- def fetch_tokens(params_or_code, code_verifier: nil, redirect_uri: @config.callback_url)
50
- code = params_or_code.kind_of?(Hash) ? params.fetch("code") : params_or_code
64
+ def fetch_tokens(
65
+ params_or_code,
66
+ client_id: @config.client_id,
67
+ client_secret: @config.client_secret,
68
+ domain: @config.domain,
69
+ code_verifier: nil,
70
+ redirect_uri: @config.callback_url)
71
+ code = params_or_code.kind_of?(Hash) ? params_or_code.fetch("code") : params_or_code
51
72
  params = {
52
73
  redirect_uri: redirect_uri,
53
74
  headers: { 'User-Agent' => "Kinde-SDK: Ruby/#{KindeSdk::VERSION}" }
54
75
  }
55
76
  params[:code_verifier] = code_verifier if code_verifier
56
- @config.oauth_client.auth_code.get_token(code.to_s, params).to_hash
77
+ @config.oauth_client(
78
+ client_id: client_id,
79
+ client_secret: client_secret,
80
+ domain: domain,
81
+ authorize_url: "#{domain}/oauth2/auth",
82
+ token_url: "#{domain}/oauth2/token").auth_code.get_token(code.to_s, params).to_hash
57
83
  end
58
84
 
59
85
  # tokens_hash #=>
@@ -70,35 +96,56 @@ module KindeSdk
70
96
  KindeSdk::Client.new(sdk_api_client, tokens_hash, @config.auto_refresh_tokens)
71
97
  end
72
98
 
73
- def logout_url
74
- query = @config.logout_url ? URI.encode_www_form(redirect: @config.logout_url) : nil
75
- host = URI::parse(@config.domain).host
99
+ def logout_url(logout_url: @config.logout_url, domain: @config.domain)
100
+ query = logout_url ? URI.encode_www_form(redirect: logout_url) : nil
101
+ host = URI::parse(domain).host
76
102
  URI::HTTP.build(host: host, path: '/logout', query: query).to_s
77
103
  end
78
104
 
79
105
  def client_credentials_access(
80
106
  client_id: @config.client_id,
81
107
  client_secret: @config.client_secret,
82
- audience: "#{@config.domain}/api"
108
+ audience: "#{@config.domain}/api",
109
+ domain: @config.domain
83
110
  )
84
- Faraday.new(url: @config.domain) do |faraday|
111
+ Faraday.new(url: domain) do |faraday|
85
112
  faraday.response :json
86
113
  faraday.use Faraday::FollowRedirects::Middleware
87
114
  end
88
- .post(@config.token_url) do |req|
115
+ .post("#{domain}/oauth2/token") do |req|
89
116
  req.headers[:content_type] = 'application/x-www-form-urlencoded'
90
117
  req.body =
91
118
  "grant_type=client_credentials&client_id=#{client_id}&client_secret=#{client_secret}&audience=#{audience}"
92
119
  end.body
93
120
  end
94
121
 
95
- def token_expired?(hash)
96
- OAuth2::AccessToken.from_hash(@config.oauth_client, hash).expired?
122
+ def token_expired?(hash,
123
+ client_id: @config.client_id,
124
+ client_secret: @config.client_secret,
125
+ audience: "#{@config.domain}/api",
126
+ domain: @config.domain
127
+ )
128
+ OAuth2::AccessToken.from_hash(@config.oauth_client(
129
+ client_id: client_id,
130
+ client_secret: client_secret,
131
+ domain: domain,
132
+ authorize_url: "#{domain}/oauth2/auth",
133
+ token_url: "#{domain}/oauth2/token"), hash).expired?
97
134
  end
98
135
 
99
136
  # @return [Hash]
100
- def refresh_token(hash)
101
- OAuth2::AccessToken.from_hash(@config.oauth_client, hash).refresh.to_hash
137
+ def refresh_token(hash,
138
+ client_id: @config.client_id,
139
+ client_secret: @config.client_secret,
140
+ audience: "#{@config.domain}/api",
141
+ domain: @config.domain
142
+ )
143
+ OAuth2::AccessToken.from_hash(@config.oauth_client(
144
+ client_id: client_id,
145
+ client_secret: client_secret,
146
+ domain: domain,
147
+ authorize_url: "#{domain}/oauth2/auth",
148
+ token_url: "#{domain}/oauth2/token"), hash).refresh.to_hash
102
149
  end
103
150
 
104
151
  # init sdk api client by bearer token
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kinde_sdk
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.3
4
+ version: 1.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kinde Australia Pty Ltd
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-03-15 00:00:00.000000000 Z
11
+ date: 2025-02-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: typhoeus
@@ -76,22 +76,22 @@ dependencies:
76
76
  name: rspec
77
77
  requirement: !ruby/object:Gem::Requirement
78
78
  requirements:
79
- - - ">="
80
- - !ruby/object:Gem::Version
81
- version: 3.6.0
82
79
  - - "~>"
83
80
  - !ruby/object:Gem::Version
84
81
  version: '3.6'
82
+ - - ">="
83
+ - !ruby/object:Gem::Version
84
+ version: 3.6.0
85
85
  type: :development
86
86
  prerelease: false
87
87
  version_requirements: !ruby/object:Gem::Requirement
88
88
  requirements:
89
- - - ">="
90
- - !ruby/object:Gem::Version
91
- version: 3.6.0
92
89
  - - "~>"
93
90
  - !ruby/object:Gem::Version
94
91
  version: '3.6'
92
+ - - ">="
93
+ - !ruby/object:Gem::Version
94
+ version: 3.6.0
95
95
  description: Integrate the Kinde API into any ruby-based applications, Rails or non-Rails
96
96
  email:
97
97
  - support@kinde.com
@@ -429,7 +429,7 @@ homepage: https://kinde.com/
429
429
  licenses:
430
430
  - MIT
431
431
  metadata: {}
432
- post_install_message:
432
+ post_install_message:
433
433
  rdoc_options: []
434
434
  require_paths:
435
435
  - lib
@@ -445,116 +445,116 @@ required_rubygems_version: !ruby/object:Gem::Requirement
445
445
  - !ruby/object:Gem::Version
446
446
  version: '0'
447
447
  requirements: []
448
- rubygems_version: 3.0.3.1
449
- signing_key:
448
+ rubygems_version: 3.2.3
449
+ signing_key:
450
450
  specification_version: 4
451
451
  summary: Kinde Management API Ruby Gem
452
452
  test_files:
453
453
  - spec/kinde_sdk_spec.rb
454
454
  - spec/spec_helper.rb
455
- - kinde_api/spec/api/permissions_api_spec.rb
456
- - kinde_api/spec/api/o_auth_api_spec.rb
457
- - kinde_api/spec/api/organizations_api_spec.rb
458
- - kinde_api/spec/api/business_api_spec.rb
459
- - kinde_api/spec/api/applications_api_spec.rb
460
455
  - kinde_api/spec/api/subscribers_api_spec.rb
461
- - kinde_api/spec/api/timezones_api_spec.rb
462
- - kinde_api/spec/api/connected_apps_api_spec.rb
456
+ - kinde_api/spec/api/apis_api_spec.rb
463
457
  - kinde_api/spec/api/callbacks_api_spec.rb
464
458
  - kinde_api/spec/api/environments_api_spec.rb
465
- - kinde_api/spec/api/apis_api_spec.rb
466
- - kinde_api/spec/api/roles_api_spec.rb
467
- - kinde_api/spec/api/users_api_spec.rb
468
459
  - kinde_api/spec/api/feature_flags_api_spec.rb
460
+ - kinde_api/spec/api/roles_api_spec.rb
469
461
  - kinde_api/spec/api/industries_api_spec.rb
462
+ - kinde_api/spec/api/permissions_api_spec.rb
463
+ - kinde_api/spec/api/timezones_api_spec.rb
464
+ - kinde_api/spec/api/business_api_spec.rb
465
+ - kinde_api/spec/api/users_api_spec.rb
466
+ - kinde_api/spec/api/applications_api_spec.rb
467
+ - kinde_api/spec/api/o_auth_api_spec.rb
468
+ - kinde_api/spec/api/organizations_api_spec.rb
469
+ - kinde_api/spec/api/connected_apps_api_spec.rb
470
470
  - kinde_api/spec/api_client_spec.rb
471
471
  - kinde_api/spec/configuration_spec.rb
472
- - kinde_api/spec/models/error_spec.rb
473
- - kinde_api/spec/models/create_application_response_spec.rb
474
- - kinde_api/spec/models/organization_user_role_permissions_permissions_spec.rb
475
- - kinde_api/spec/models/create_user_request_identities_inner_details_spec.rb
476
- - kinde_api/spec/models/update_api_applications_request_applications_inner_spec.rb
477
- - kinde_api/spec/models/apis_spec.rb
478
- - kinde_api/spec/models/users_response_users_inner_spec.rb
479
- - kinde_api/spec/models/create_organization_request_spec.rb
480
- - kinde_api/spec/models/api_applications_inner_spec.rb
481
- - kinde_api/spec/models/get_redirect_callback_urls_response_spec.rb
482
- - kinde_api/spec/models/get_organizations_user_roles_response_spec.rb
483
- - kinde_api/spec/models/error_response_spec.rb
484
- - kinde_api/spec/models/get_organizations_response_spec.rb
485
- - kinde_api/spec/models/permissions_spec.rb
486
- - kinde_api/spec/models/subscribers_subscriber_spec.rb
487
- - kinde_api/spec/models/get_organizations_user_permissions_response_spec.rb
472
+ - kinde_api/spec/models/create_organization_response_organization_spec.rb
473
+ - kinde_api/spec/models/organization_user_permission_spec.rb
474
+ - kinde_api/spec/models/create_organization_user_role_request_spec.rb
475
+ - kinde_api/spec/models/create_permission_request_spec.rb
476
+ - kinde_api/spec/models/update_organization_users_response_spec.rb
488
477
  - kinde_api/spec/models/logout_redirect_urls_spec.rb
489
478
  - kinde_api/spec/models/api_result_spec.rb
490
- - kinde_api/spec/models/create_subscriber_success_response_subscriber_spec.rb
491
- - kinde_api/spec/models/api_spec.rb
492
- - kinde_api/spec/models/create_role_request_spec.rb
493
- - kinde_api/spec/models/organization_user_permission_spec.rb
479
+ - kinde_api/spec/models/add_organization_users_response_spec.rb
480
+ - kinde_api/spec/models/create_application_request_spec.rb
481
+ - kinde_api/spec/models/redirect_callback_urls_spec.rb
482
+ - kinde_api/spec/models/organization_spec.rb
483
+ - kinde_api/spec/models/replace_redirect_callback_urls_request_spec.rb
484
+ - kinde_api/spec/models/users_response_spec.rb
485
+ - kinde_api/spec/models/role_spec.rb
494
486
  - kinde_api/spec/models/user_identity_spec.rb
495
- - kinde_api/spec/models/update_environement_feature_flag_override_request_spec.rb
496
- - kinde_api/spec/models/get_subscriber_response_spec.rb
487
+ - kinde_api/spec/models/update_role_permissions_request_permissions_inner_spec.rb
488
+ - kinde_api/spec/models/connected_apps_access_token_spec.rb
489
+ - kinde_api/spec/models/update_organization_users_request_spec.rb
490
+ - kinde_api/spec/models/get_applications_response_spec.rb
491
+ - kinde_api/spec/models/update_user_request_spec.rb
492
+ - kinde_api/spec/models/create_user_request_profile_spec.rb
497
493
  - kinde_api/spec/models/get_environment_feature_flags_response_spec.rb
498
- - kinde_api/spec/models/applications_spec.rb
499
- - kinde_api/spec/models/token_error_response_spec.rb
500
- - kinde_api/spec/models/create_application_response_application_spec.rb
501
- - kinde_api/spec/models/update_role_permissions_request_spec.rb
502
- - kinde_api/spec/models/roles_permission_response_inner_spec.rb
503
- - kinde_api/spec/models/get_organization_feature_flags_response_spec.rb
504
- - kinde_api/spec/models/roles_spec.rb
505
- - kinde_api/spec/models/get_organization_users_response_spec.rb
506
- - kinde_api/spec/models/organization_user_spec.rb
507
- - kinde_api/spec/models/organization_user_role_permissions_spec.rb
508
- - kinde_api/spec/models/create_organization_user_permission_request_spec.rb
509
- - kinde_api/spec/models/users_response_spec.rb
510
- - kinde_api/spec/models/organization_spec.rb
494
+ - kinde_api/spec/models/subscribers_subscriber_spec.rb
495
+ - kinde_api/spec/models/get_organizations_response_spec.rb
496
+ - kinde_api/spec/models/create_user_request_identities_inner_spec.rb
497
+ - kinde_api/spec/models/api_spec.rb
498
+ - kinde_api/spec/models/get_application_response_application_spec.rb
511
499
  - kinde_api/spec/models/subscriber_spec.rb
512
- - kinde_api/spec/models/update_api_applications_request_spec.rb
513
- - kinde_api/spec/models/create_organization_user_role_request_spec.rb
514
- - kinde_api/spec/models/create_application_request_spec.rb
515
- - kinde_api/spec/models/update_user_response_spec.rb
516
- - kinde_api/spec/models/add_organization_users_request_spec.rb
517
- - kinde_api/spec/models/update_role_permissions_request_permissions_inner_spec.rb
518
500
  - kinde_api/spec/models/connected_apps_auth_url_spec.rb
519
- - kinde_api/spec/models/update_organization_users_response_spec.rb
520
501
  - kinde_api/spec/models/add_apis_request_spec.rb
521
- - kinde_api/spec/models/user_identities_inner_spec.rb
502
+ - kinde_api/spec/models/create_user_request_identities_inner_details_spec.rb
503
+ - kinde_api/spec/models/organization_user_spec.rb
504
+ - kinde_api/spec/models/roles_spec.rb
505
+ - kinde_api/spec/models/get_subscriber_response_spec.rb
506
+ - kinde_api/spec/models/roles_permission_response_inner_spec.rb
507
+ - kinde_api/spec/models/apis_spec.rb
508
+ - kinde_api/spec/models/create_application_response_application_spec.rb
509
+ - kinde_api/spec/models/update_application_request_spec.rb
510
+ - kinde_api/spec/models/get_organizations_user_permissions_response_spec.rb
511
+ - kinde_api/spec/models/update_environement_feature_flag_override_request_spec.rb
522
512
  - kinde_api/spec/models/create_feature_flag_request_spec.rb
523
513
  - kinde_api/spec/models/update_roles_request_spec.rb
524
- - kinde_api/spec/models/replace_logout_redirect_urls_request_spec.rb
525
- - kinde_api/spec/models/create_user_request_profile_spec.rb
526
- - kinde_api/spec/models/redirect_callback_urls_spec.rb
514
+ - kinde_api/spec/models/token_introspect_spec.rb
527
515
  - kinde_api/spec/models/get_permissions_response_spec.rb
528
- - kinde_api/spec/models/update_organization_users_request_spec.rb
529
- - kinde_api/spec/models/create_user_request_spec.rb
530
- - kinde_api/spec/models/user_identity_result_spec.rb
531
- - kinde_api/spec/models/update_user_request_spec.rb
516
+ - kinde_api/spec/models/create_organization_user_permission_request_spec.rb
517
+ - kinde_api/spec/models/update_role_permissions_request_spec.rb
518
+ - kinde_api/spec/models/create_user_response_spec.rb
519
+ - kinde_api/spec/models/user_profile_v2_spec.rb
520
+ - kinde_api/spec/models/token_error_response_spec.rb
521
+ - kinde_api/spec/models/update_api_applications_request_applications_inner_spec.rb
522
+ - kinde_api/spec/models/get_redirect_callback_urls_response_spec.rb
532
523
  - kinde_api/spec/models/get_organization_feature_flags_response_feature_flags_value_spec.rb
533
- - kinde_api/spec/models/get_application_response_spec.rb
534
- - kinde_api/spec/models/create_subscriber_success_response_spec.rb
535
- - kinde_api/spec/models/connected_apps_access_token_spec.rb
536
- - kinde_api/spec/models/create_organization_response_spec.rb
537
- - kinde_api/spec/models/create_organization_response_organization_spec.rb
538
- - kinde_api/spec/models/create_permission_request_spec.rb
539
- - kinde_api/spec/models/update_organization_request_spec.rb
540
- - kinde_api/spec/models/update_application_request_spec.rb
541
- - kinde_api/spec/models/get_applications_response_spec.rb
542
524
  - kinde_api/spec/models/organization_user_permission_roles_inner_spec.rb
543
- - kinde_api/spec/models/update_organization_users_request_users_inner_spec.rb
544
- - kinde_api/spec/models/add_organization_users_response_spec.rb
545
- - kinde_api/spec/models/get_roles_response_spec.rb
546
- - kinde_api/spec/models/create_user_response_spec.rb
547
- - kinde_api/spec/models/update_role_permissions_response_spec.rb
548
- - kinde_api/spec/models/replace_redirect_callback_urls_request_spec.rb
549
- - kinde_api/spec/models/user_spec.rb
550
- - kinde_api/spec/models/role_spec.rb
551
525
  - kinde_api/spec/models/success_response_spec.rb
526
+ - kinde_api/spec/models/get_organization_feature_flags_response_spec.rb
527
+ - kinde_api/spec/models/permissions_spec.rb
552
528
  - kinde_api/spec/models/organization_user_role_spec.rb
553
- - kinde_api/spec/models/get_application_response_application_spec.rb
554
- - kinde_api/spec/models/user_profile_spec.rb
555
- - kinde_api/spec/models/create_user_request_identities_inner_spec.rb
529
+ - kinde_api/spec/models/organization_user_role_permissions_spec.rb
530
+ - kinde_api/spec/models/error_response_spec.rb
531
+ - kinde_api/spec/models/get_organization_users_response_spec.rb
532
+ - kinde_api/spec/models/organization_user_role_permissions_permissions_spec.rb
533
+ - kinde_api/spec/models/error_spec.rb
534
+ - kinde_api/spec/models/create_role_request_spec.rb
535
+ - kinde_api/spec/models/update_user_response_spec.rb
556
536
  - kinde_api/spec/models/add_organization_users_request_users_inner_spec.rb
557
- - kinde_api/spec/models/user_profile_v2_spec.rb
537
+ - kinde_api/spec/models/replace_logout_redirect_urls_request_spec.rb
538
+ - kinde_api/spec/models/user_spec.rb
539
+ - kinde_api/spec/models/create_application_response_spec.rb
540
+ - kinde_api/spec/models/create_organization_response_spec.rb
558
541
  - kinde_api/spec/models/get_subscribers_response_spec.rb
559
- - kinde_api/spec/models/token_introspect_spec.rb
542
+ - kinde_api/spec/models/get_application_response_spec.rb
543
+ - kinde_api/spec/models/applications_spec.rb
544
+ - kinde_api/spec/models/update_role_permissions_response_spec.rb
545
+ - kinde_api/spec/models/update_api_applications_request_spec.rb
546
+ - kinde_api/spec/models/create_organization_request_spec.rb
547
+ - kinde_api/spec/models/api_applications_inner_spec.rb
548
+ - kinde_api/spec/models/update_organization_users_request_users_inner_spec.rb
549
+ - kinde_api/spec/models/user_profile_spec.rb
550
+ - kinde_api/spec/models/users_response_users_inner_spec.rb
551
+ - kinde_api/spec/models/create_subscriber_success_response_spec.rb
552
+ - kinde_api/spec/models/create_subscriber_success_response_subscriber_spec.rb
553
+ - kinde_api/spec/models/user_identity_result_spec.rb
554
+ - kinde_api/spec/models/get_roles_response_spec.rb
555
+ - kinde_api/spec/models/create_user_request_spec.rb
556
+ - kinde_api/spec/models/update_organization_request_spec.rb
557
+ - kinde_api/spec/models/get_organizations_user_roles_response_spec.rb
558
+ - kinde_api/spec/models/user_identities_inner_spec.rb
559
+ - kinde_api/spec/models/add_organization_users_request_spec.rb
560
560
  - kinde_api/spec/spec_helper.rb