ibrain-auth 0.3.15 → 0.3.16

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: cede940ab1a8cb4dcf23bfef0f27135f108b06cd91c04a9f65a08b525581b369
4
- data.tar.gz: bb24a581ed8195dea78d4497024665b93ae7e9e92654c6b199a157c9eb2967e0
3
+ metadata.gz: 60a113e3b1a3c4a9d36537db0135bb75cdcfde931553aad2cfcaf5c6f61d2eb3
4
+ data.tar.gz: 047755a00465c7718633deee0ae819f13d7eb91cbb13ff8c63bb7615a16edfad
5
5
  SHA512:
6
- metadata.gz: acae84052ab448f7d874c14fc23adfc8116ceaed35c7f2f572ace7597ca675fd7e960128f7b2d51cc975690acec3c5b551e58b34aa57bf30bb8f7ba25a03c988
7
- data.tar.gz: d5aa7e5f8ceea119e0721f909a73c1c13cd5d436e45ae357f70fba561b6eeb85f5907615eb21bf78fd39538da8f1cdb8f5d9580d80eb19787abb20947fb54a32
6
+ metadata.gz: c65958057e091667cf5aff4c6fae97ab0d99d4a905817e16f3c0457b2795e08efb42e1622f752c431f4afb19a37856ca0ab93c66a0dea379b9505299daf7eae4
7
+ data.tar.gz: df1ed03ef6ed2ca98697df98c27ef82b0f9d7b464c189ca72d957cb40d635e0a181b583f77a61102a88ef439276b36287740ecd389228db8fc4e634fb30a2845
@@ -16,7 +16,7 @@ module Ibrain::Mutations
16
16
  private
17
17
 
18
18
  def normalize_parameters
19
- attribute_params.permit(:code, :redirect_uri)
19
+ attribute_params.permit(:code, :redirect_uri, :access_token)
20
20
  rescue StandardError
21
21
  ActionController::Parameters.new({})
22
22
  end
@@ -4,8 +4,9 @@ module Ibrain
4
4
  module Types
5
5
  module Input
6
6
  class GenerateFirebaseTokenInput < Ibrain::Types::BaseInputObject
7
- argument :code, String, required: true
8
- argument :redirect_uri, String, required: true
7
+ argument :code, String, required: false
8
+ argument :redirect_uri, String, required: false
9
+ argument :access_token, String, required: false
9
10
  end
10
11
  end
11
12
  end
@@ -14,11 +14,7 @@ class FirebaseRepository < Ibrain::BaseRepository
14
14
  def generate_custom_token!
15
15
  iat = Time.now.to_i
16
16
  exp = 60.minutes.from_now.to_i
17
-
18
- uid = LineRepository.singleton.retrieve_uid(
19
- code: params[:code],
20
- redirect_uri: params[:redirect_uri]
21
- )
17
+ uid = retrieve_uid_execution
22
18
 
23
19
  raise IbrainErrors::UnknownError.new I18n.t("ibrain.errors.custom_token.not_retrieve_uid") unless uid
24
20
 
@@ -59,4 +55,15 @@ class FirebaseRepository < Ibrain::BaseRepository
59
55
 
60
56
  File.open(Ibrain::Auth::Config.firebase_private_key_path).read
61
57
  end
58
+
59
+ def retrieve_uid_execution
60
+ if params[:access_token].present?
61
+ return LineRepository.singleton.retrieve_uid_by_access_token(access_token: params[:access_token])
62
+ end
63
+
64
+ LineRepository.singleton.retrieve_uid(
65
+ code: params[:code],
66
+ redirect_uri: params[:redirect_uri]
67
+ )
68
+ end
62
69
  end
@@ -43,4 +43,15 @@ class LineRepository
43
43
 
44
44
  response.try(:fetch, 'userId', nil)
45
45
  end
46
+
47
+ def retrieve_uid_by_access_token(access_token:)
48
+ response = HTTParty.get(
49
+ LINE_INFORMATION_URL,
50
+ headers: LINE_BASE_HEADERS.merge({
51
+ 'Authorization' => "Bearer #{access_token}"
52
+ })
53
+ )
54
+
55
+ response.try(:fetch, 'userId', nil)
56
+ end
46
57
  end
@@ -4,7 +4,7 @@ module Ibrain
4
4
  # frozen_string_literal: true
5
5
 
6
6
  module Auth
7
- VERSION = '0.3.15'
7
+ VERSION = '0.3.16'
8
8
 
9
9
  def self.ibrain_auth_version
10
10
  VERSION
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ibrain-auth
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.15
4
+ version: 0.3.16
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tai Nguyen Van
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-01-24 00:00:00.000000000 Z
11
+ date: 2023-01-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: devise