ibrain-auth 0.2.1 → 0.2.4
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 +4 -4
- data/app/controllers/ibrain/auth/sessions_controller.rb +12 -0
- data/app/graphql/ibrain/auth/mutations/base_mutation.rb +13 -0
- data/app/graphql/ibrain/auth/mutations/sign_in_mutation.rb +32 -20
- data/app/graphql/ibrain/auth/mutations/sign_up_mutation.rb +30 -14
- data/app/graphql/ibrain/auth/mutations/sso_sign_in_mutation.rb +3 -1
- data/app/graphql/ibrain/auth/mutations/sso_sign_up_mutation.rb +3 -1
- data/app/repositories/apple_repository.rb +8 -0
- data/app/repositories/auth_repository.rb +3 -3
- data/app/repositories/twitter_repository.rb +8 -0
- data/config/routes.rb +2 -1
- data/lib/generators/ibrain/auth/install/install_generator.rb +5 -0
- data/lib/generators/ibrain/auth/install/templates/config/initializers/omniauth.rb.tt +12 -0
- data/lib/ibrain/auth/version.rb +2 -2
- data/lib/ibrain/auth.rb +2 -0
- data/lib/ibrain/auth_configuration.rb +3 -0
- metadata +101 -34
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: fbd79a8f9a3704ee91db11e78b78894991b517d86956a8787b1b494ed8b0c21b
|
4
|
+
data.tar.gz: a781b4afeda9073308eff768fa8fe9401dd14670c019a8b7ee5fc5ba36b796b5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 87a2246dc66f90bdba08265ca39e2d496c404ddeea69751dcd6a9d8ca30d1bc94938ad427fc5e1ab680b395f8385695fa7d481f1a484364d20f53950037699f5
|
7
|
+
data.tar.gz: eca7f37db46b319ccb3d31857739597b0a4685938197401bb9f272d93dff9d1b14d6b41781d37a89eb20c01bda5347574006169202247910833a9974d5f386f0
|
@@ -41,4 +41,16 @@ class Ibrain::Auth::SessionsController < Devise::SessionsController
|
|
41
41
|
def repo
|
42
42
|
AuthRepository.new(resource, params)
|
43
43
|
end
|
44
|
+
|
45
|
+
def twitter_repo
|
46
|
+
TwitterRepository.new(resource, request.env['omniauth.auth'])
|
47
|
+
end
|
48
|
+
|
49
|
+
def apple_repo
|
50
|
+
AppleRepository.new(resource, request.env['omniauth.auth'])
|
51
|
+
end
|
52
|
+
|
53
|
+
def line_repo
|
54
|
+
LineRepository.new(resource, request.env['omniauth.auth'])
|
55
|
+
end
|
44
56
|
end
|
@@ -11,6 +11,13 @@ module Ibrain::Auth::Mutations
|
|
11
11
|
|
12
12
|
helper_method(*helpers)
|
13
13
|
|
14
|
+
def ready?(args)
|
15
|
+
super(args)
|
16
|
+
|
17
|
+
@auth_resource = load_resource
|
18
|
+
true
|
19
|
+
end
|
20
|
+
|
14
21
|
# Override prefixes to consider the scoped view.
|
15
22
|
# Notice we need to check for the request due to a bug in
|
16
23
|
# Action Controller tests that forces _prefixes to be
|
@@ -28,6 +35,8 @@ module Ibrain::Auth::Mutations
|
|
28
35
|
|
29
36
|
protected
|
30
37
|
|
38
|
+
attr_reader :auth_resource
|
39
|
+
|
31
40
|
def auth_headers(headers, user, scope: nil, aud: nil)
|
32
41
|
scope ||= Devise::Mapping.find_scope!(user)
|
33
42
|
aud ||= headers[Warden::JWTAuth.config.aud_header]
|
@@ -198,6 +207,10 @@ module Ibrain::Auth::Mutations
|
|
198
207
|
params.fetch(resource_name, {})
|
199
208
|
end
|
200
209
|
|
210
|
+
def repo; end
|
211
|
+
def load_resource; end
|
212
|
+
def normalize_parameters; end
|
213
|
+
|
201
214
|
ActiveSupport.run_load_hooks(:devise_controller, self)
|
202
215
|
end
|
203
216
|
end
|
@@ -6,48 +6,60 @@ module Ibrain::Auth::Mutations
|
|
6
6
|
field :token, String, null: true
|
7
7
|
field :result, Boolean, null: true
|
8
8
|
|
9
|
-
argument :
|
9
|
+
argument :attributes, Ibrain::Auth::Config.sign_in_input, required: true
|
10
10
|
argument :device_token, String, description: 'Device token for notification', required: false
|
11
11
|
|
12
|
-
def resolve(
|
13
|
-
|
14
|
-
repo = ::AuthRepository.new(nil, normalize_params(args))
|
15
|
-
user = repo.sign_in
|
12
|
+
def resolve(_args)
|
13
|
+
raise ActionController::InvalidAuthenticityToken, I18n.t('ibrain.errors.account.incorrect') if auth_resource.blank?
|
16
14
|
|
17
|
-
|
18
|
-
|
19
|
-
sign_in(resource_name, user)
|
15
|
+
sign_in(resource_name, auth_resource)
|
20
16
|
@current_user = warden.authenticate!(auth_options)
|
21
17
|
|
22
18
|
warden.set_user(current_user)
|
23
|
-
current_user.jwt_token, jti = auth_headers(request,
|
24
|
-
|
19
|
+
current_user.jwt_token, jti = auth_headers(request, auth_resource)
|
25
20
|
current_user.jti = jti
|
26
21
|
current_user.save!
|
27
22
|
|
28
|
-
if
|
29
|
-
device_token = current_user.device_tokens.find_by(token:
|
30
|
-
|
31
|
-
current_user.device_tokens.create!({ token: args[:device_token] }) if device_token.blank?
|
23
|
+
if params[:device_token].present?
|
24
|
+
device_token = current_user.device_tokens.find_by(token: params[:device_token])
|
25
|
+
current_user.device_tokens.create!({ token: params[:device_token] }) if device_token.blank?
|
32
26
|
end
|
33
27
|
|
34
28
|
context[:current_user] = current_user
|
35
29
|
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
30
|
+
graphql_returning(
|
31
|
+
user_signed_in?,
|
32
|
+
user_signed_in? ? current_user : nil,
|
33
|
+
current_user.try(:jwt_token)
|
40
34
|
)
|
41
35
|
end
|
42
36
|
|
43
37
|
private
|
44
38
|
|
45
|
-
def
|
46
|
-
|
39
|
+
def load_resource
|
40
|
+
repo.sign_in
|
41
|
+
end
|
42
|
+
|
43
|
+
def repo
|
44
|
+
::AuthRepository.new(nil, normalize_parameters)
|
45
|
+
end
|
46
|
+
|
47
|
+
def normalize_parameters
|
48
|
+
attribute_params
|
49
|
+
rescue StandardError
|
50
|
+
ActionController::Parameters.new({})
|
47
51
|
end
|
48
52
|
|
49
53
|
def auth_options
|
50
54
|
{ scope: resource_name }
|
51
55
|
end
|
56
|
+
|
57
|
+
def graphql_returning(result, user = nil, token = nil)
|
58
|
+
OpenStruct.new(
|
59
|
+
user: user,
|
60
|
+
token: token,
|
61
|
+
result: result
|
62
|
+
)
|
63
|
+
end
|
52
64
|
end
|
53
65
|
end
|
@@ -6,21 +6,18 @@ module Ibrain::Auth::Mutations
|
|
6
6
|
field :token, String, null: true
|
7
7
|
field :result, Boolean, null: true
|
8
8
|
|
9
|
-
argument :
|
9
|
+
argument :attributes, Ibrain::Auth::Config.sign_up_input, required: true
|
10
10
|
argument :device_token, String, description: 'Device token for notificaiton', required: false
|
11
11
|
|
12
12
|
def resolve(args)
|
13
13
|
# TODO: define logic inside repository
|
14
|
-
|
15
|
-
user = repo.sign_up
|
14
|
+
return graphql_returning(false, false) if auth_resource.blank?
|
16
15
|
|
17
|
-
|
18
|
-
|
19
|
-
sign_in(resource_name, user)
|
16
|
+
sign_in(resource_name, auth_resource)
|
20
17
|
@current_user = warden.authenticate!(auth_options)
|
21
18
|
|
22
19
|
warden.set_user(current_user)
|
23
|
-
current_user.jwt_token, jti = auth_headers(request,
|
20
|
+
current_user.jwt_token, jti = auth_headers(request, auth_resource)
|
24
21
|
|
25
22
|
current_user.jti = jti
|
26
23
|
current_user.save!
|
@@ -33,22 +30,41 @@ module Ibrain::Auth::Mutations
|
|
33
30
|
|
34
31
|
context[:current_user] = current_user
|
35
32
|
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
33
|
+
graphql_returning(
|
34
|
+
user_signed_in?,
|
35
|
+
true,
|
36
|
+
user_signed_in? ? current_user : nil,
|
37
|
+
current_user.try(:jwt_token),
|
41
38
|
)
|
42
39
|
end
|
43
40
|
|
44
41
|
private
|
45
42
|
|
46
|
-
def
|
47
|
-
|
43
|
+
def load_resource
|
44
|
+
repo.sign_up
|
45
|
+
end
|
46
|
+
|
47
|
+
def repo
|
48
|
+
::AuthRepository.new(nil, normalize_parameters)
|
49
|
+
end
|
50
|
+
|
51
|
+
def normalize_parameters
|
52
|
+
attribute_params
|
53
|
+
rescue StandardError
|
54
|
+
ActionController::Parameters.new({})
|
48
55
|
end
|
49
56
|
|
50
57
|
def auth_options
|
51
58
|
{ scope: resource_name }
|
52
59
|
end
|
60
|
+
|
61
|
+
def graphql_returning(result, is_verified, user = nil, token = nil)
|
62
|
+
OpenStruct.new(
|
63
|
+
user: user,
|
64
|
+
token: token,
|
65
|
+
result: result,
|
66
|
+
is_verified: is_verified
|
67
|
+
)
|
68
|
+
end
|
53
69
|
end
|
54
70
|
end
|
@@ -45,7 +45,9 @@ module Ibrain::Auth::Mutations
|
|
45
45
|
private
|
46
46
|
|
47
47
|
def normalize_params(args)
|
48
|
-
ActionController::Parameters.new(
|
48
|
+
ActionController::Parameters.new(args.as_json)
|
49
|
+
rescue StandardError
|
50
|
+
ActionController::Parameters.new({})
|
49
51
|
end
|
50
52
|
|
51
53
|
def auth_options
|
@@ -45,7 +45,9 @@ module Ibrain::Auth::Mutations
|
|
45
45
|
private
|
46
46
|
|
47
47
|
def normalize_params(args)
|
48
|
-
ActionController::Parameters.new(
|
48
|
+
ActionController::Parameters.new(args.as_json)
|
49
|
+
rescue StandardError
|
50
|
+
ActionController::Parameters.new({})
|
49
51
|
end
|
50
52
|
|
51
53
|
def auth_options
|
@@ -50,11 +50,11 @@ class AuthRepository < Ibrain::BaseRepository
|
|
50
50
|
end
|
51
51
|
|
52
52
|
def normalize_params
|
53
|
-
params.
|
53
|
+
params.permit(permitted_attributes)
|
54
54
|
end
|
55
55
|
|
56
56
|
def manual_params
|
57
|
-
params.
|
57
|
+
params.permit(:username, :password)
|
58
58
|
end
|
59
59
|
|
60
60
|
def sso_verify
|
@@ -84,7 +84,7 @@ class AuthRepository < Ibrain::BaseRepository
|
|
84
84
|
reset_password_token reset_password_sent_at
|
85
85
|
remember_created_at sign_in_count uid jti
|
86
86
|
current_sign_in_at last_sign_in_at current_sign_in_ip
|
87
|
-
last_sign_in_ip role encrypted_password
|
87
|
+
last_sign_in_ip role encrypted_password id_token
|
88
88
|
]
|
89
89
|
end
|
90
90
|
end
|
data/config/routes.rb
CHANGED
@@ -3,7 +3,8 @@
|
|
3
3
|
Ibrain::Core::Engine.routes.draw do
|
4
4
|
devise_for :users, controllers: {
|
5
5
|
sessions: "ibrain/auth/sessions",
|
6
|
-
registrations: "ibrain/auth/registrations"
|
6
|
+
registrations: "ibrain/auth/registrations",
|
7
|
+
callback: "ibrain/auth/sessions/callback"
|
7
8
|
},
|
8
9
|
path: "api/#{Ibrain::Config.api_version}/users",
|
9
10
|
defaults: { format: :json }
|
@@ -6,6 +6,7 @@ module Ibrain
|
|
6
6
|
module Auth
|
7
7
|
class InstallGenerator < Rails::Generators::Base
|
8
8
|
class_option :with_ridgepole, type: :boolean, default: true
|
9
|
+
class_option :with_social, type: :boolean, default: false
|
9
10
|
|
10
11
|
def self.source_paths
|
11
12
|
paths = superclass.source_paths
|
@@ -17,6 +18,10 @@ module Ibrain
|
|
17
18
|
template 'config/initializers/devise.rb.tt', 'config/initializers/devise.rb', { skip: true }
|
18
19
|
template 'config/initializers/ibrain_auth.rb.tt', 'config/initializers/ibrain_auth.rb', { skip: true }
|
19
20
|
template 'config/initializers/ibrain_jwt.rb.tt', 'config/initializers/ibrain_jwt.rb', { skip: true }
|
21
|
+
|
22
|
+
if options[:with_social]
|
23
|
+
template 'config/initializers/omniauth.rb.tt', 'config/initializers/omniauth.rb', { skip: true }
|
24
|
+
end
|
20
25
|
|
21
26
|
if options[:with_ridgepole]
|
22
27
|
template 'db/schemas/users_schema.erb', 'db/schemas/users.schema', { skip: true }
|
@@ -0,0 +1,12 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
Rails.application.config.middleware.use OmniAuth::Builder do
|
4
|
+
# For twitter authenticate
|
5
|
+
# provider :twitter, ENV['TWITTER_CLIENT_ID'], ENV['TWITTER_CLIENT_SECRET']
|
6
|
+
|
7
|
+
# For line authenticate
|
8
|
+
# provider :line, ENV['LINE_CLIENT_ID'], ENV['LINE_CLIENT_SECRET']
|
9
|
+
|
10
|
+
# For apple authenticate
|
11
|
+
# provider :apple, ENV['APPLE_CLIENT_ID'], ENV['APPLE_CLIENT_SECRET']
|
12
|
+
end
|
data/lib/ibrain/auth/version.rb
CHANGED
@@ -4,14 +4,14 @@ module Ibrain
|
|
4
4
|
# frozen_string_literal: true
|
5
5
|
|
6
6
|
module Auth
|
7
|
-
VERSION = '0.2.
|
7
|
+
VERSION = '0.2.4'
|
8
8
|
|
9
9
|
def self.ibrain_auth_version
|
10
10
|
VERSION
|
11
11
|
end
|
12
12
|
|
13
13
|
def self.previous_ibrain_auth_minor_version
|
14
|
-
'0.
|
14
|
+
'0.2.3'
|
15
15
|
end
|
16
16
|
|
17
17
|
def self.ibrain_auth_gem_version
|
data/lib/ibrain/auth.rb
CHANGED
@@ -1,5 +1,8 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
+
require_relative '../../app/graphql/ibrain/auth/types/input/sign_in_input.rb'
|
4
|
+
require_relative '../../app/graphql/ibrain/auth/types/input/sign_up_input.rb'
|
5
|
+
|
3
6
|
module Ibrain
|
4
7
|
class AuthConfiguration < Preferences::Configuration
|
5
8
|
preference :api_version, :string, default: 'v1'
|
metadata
CHANGED
@@ -1,119 +1,183 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ibrain-auth
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.4
|
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: 2022-
|
11
|
+
date: 2022-09-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: devise
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - "
|
17
|
+
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
19
|
+
version: '0'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- - "
|
24
|
+
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version:
|
26
|
+
version: '0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: devise-encryptable
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - "
|
31
|
+
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 0
|
33
|
+
version: '0'
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- - "
|
38
|
+
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: 0
|
40
|
+
version: '0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: devise-i18n
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- - "
|
45
|
+
- - ">="
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version:
|
47
|
+
version: '0'
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- - "
|
52
|
+
- - ">="
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version:
|
54
|
+
version: '0'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: devise-jwt
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- - "
|
59
|
+
- - ">="
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: 0
|
61
|
+
version: '0'
|
62
62
|
type: :runtime
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- - "
|
66
|
+
- - ">="
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version: 0
|
68
|
+
version: '0'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: ibrain-core
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
|
-
- - "
|
73
|
+
- - ">="
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version: 0
|
75
|
+
version: '0'
|
76
76
|
type: :runtime
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
|
-
- - "
|
80
|
+
- - ">="
|
81
81
|
- !ruby/object:Gem::Version
|
82
|
-
version: 0
|
82
|
+
version: '0'
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
84
|
name: rails
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
|
-
- - "
|
87
|
+
- - ">="
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0'
|
90
|
+
type: :runtime
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ">="
|
88
95
|
- !ruby/object:Gem::Version
|
89
|
-
version:
|
96
|
+
version: '0'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: omniauth
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
90
101
|
- - ">="
|
91
102
|
- !ruby/object:Gem::Version
|
92
|
-
version:
|
103
|
+
version: '0'
|
93
104
|
type: :runtime
|
94
105
|
prerelease: false
|
95
106
|
version_requirements: !ruby/object:Gem::Requirement
|
96
107
|
requirements:
|
97
|
-
- - "
|
108
|
+
- - ">="
|
98
109
|
- !ruby/object:Gem::Version
|
99
|
-
version:
|
110
|
+
version: '0'
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: omniauth-twitter
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
100
115
|
- - ">="
|
101
116
|
- !ruby/object:Gem::Version
|
102
|
-
version:
|
117
|
+
version: '0'
|
118
|
+
type: :runtime
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - ">="
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: '0'
|
103
125
|
- !ruby/object:Gem::Dependency
|
104
|
-
name: omniauth
|
126
|
+
name: omniauth-line
|
105
127
|
requirement: !ruby/object:Gem::Requirement
|
106
128
|
requirements:
|
107
|
-
- - "
|
129
|
+
- - ">="
|
108
130
|
- !ruby/object:Gem::Version
|
109
|
-
version:
|
131
|
+
version: '0'
|
110
132
|
type: :runtime
|
111
133
|
prerelease: false
|
112
134
|
version_requirements: !ruby/object:Gem::Requirement
|
113
135
|
requirements:
|
114
|
-
- - "
|
136
|
+
- - ">="
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
version: '0'
|
139
|
+
- !ruby/object:Gem::Dependency
|
140
|
+
name: omniauth-facebook
|
141
|
+
requirement: !ruby/object:Gem::Requirement
|
142
|
+
requirements:
|
143
|
+
- - ">="
|
144
|
+
- !ruby/object:Gem::Version
|
145
|
+
version: '0'
|
146
|
+
type: :runtime
|
147
|
+
prerelease: false
|
148
|
+
version_requirements: !ruby/object:Gem::Requirement
|
149
|
+
requirements:
|
150
|
+
- - ">="
|
151
|
+
- !ruby/object:Gem::Version
|
152
|
+
version: '0'
|
153
|
+
- !ruby/object:Gem::Dependency
|
154
|
+
name: omniauth-google-oauth2
|
155
|
+
requirement: !ruby/object:Gem::Requirement
|
156
|
+
requirements:
|
157
|
+
- - ">="
|
158
|
+
- !ruby/object:Gem::Version
|
159
|
+
version: '0'
|
160
|
+
type: :runtime
|
161
|
+
prerelease: false
|
162
|
+
version_requirements: !ruby/object:Gem::Requirement
|
163
|
+
requirements:
|
164
|
+
- - ">="
|
165
|
+
- !ruby/object:Gem::Version
|
166
|
+
version: '0'
|
167
|
+
- !ruby/object:Gem::Dependency
|
168
|
+
name: omniauth-apple
|
169
|
+
requirement: !ruby/object:Gem::Requirement
|
170
|
+
requirements:
|
171
|
+
- - ">="
|
172
|
+
- !ruby/object:Gem::Version
|
173
|
+
version: '0'
|
174
|
+
type: :runtime
|
175
|
+
prerelease: false
|
176
|
+
version_requirements: !ruby/object:Gem::Requirement
|
177
|
+
requirements:
|
178
|
+
- - ">="
|
115
179
|
- !ruby/object:Gem::Version
|
116
|
-
version:
|
180
|
+
version: '0'
|
117
181
|
description: Its Auth is an sso authen gem for Ruby on Rails.
|
118
182
|
email:
|
119
183
|
- john@techfox.io
|
@@ -138,7 +202,9 @@ files:
|
|
138
202
|
- app/graphql/ibrain/auth/types/input/sign_in_input.rb
|
139
203
|
- app/graphql/ibrain/auth/types/input/sign_up_input.rb
|
140
204
|
- app/models/ibrain/auth/user.rb
|
205
|
+
- app/repositories/apple_repository.rb
|
141
206
|
- app/repositories/auth_repository.rb
|
207
|
+
- app/repositories/twitter_repository.rb
|
142
208
|
- config/initializers/devise.rb
|
143
209
|
- config/locales/en.yml
|
144
210
|
- config/locales/jp.yml
|
@@ -148,6 +214,7 @@ files:
|
|
148
214
|
- lib/generators/ibrain/auth/install/templates/config/initializers/devise.rb.tt
|
149
215
|
- lib/generators/ibrain/auth/install/templates/config/initializers/ibrain_auth.rb.tt
|
150
216
|
- lib/generators/ibrain/auth/install/templates/config/initializers/ibrain_jwt.rb.tt
|
217
|
+
- lib/generators/ibrain/auth/install/templates/config/initializers/omniauth.rb.tt
|
151
218
|
- lib/generators/ibrain/auth/install/templates/db/schemas/users_migrate.erb
|
152
219
|
- lib/generators/ibrain/auth/install/templates/db/schemas/users_schema.erb
|
153
220
|
- lib/ibrain/auth.rb
|
@@ -179,7 +246,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
179
246
|
- !ruby/object:Gem::Version
|
180
247
|
version: '0'
|
181
248
|
requirements: []
|
182
|
-
rubygems_version: 3.
|
249
|
+
rubygems_version: 3.3.20
|
183
250
|
signing_key:
|
184
251
|
specification_version: 4
|
185
252
|
summary: Its Auth is an sso authen gem for Ruby on Rails.
|