ibrain-auth 0.3.15 → 0.3.16

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