graphql-auth 0.2.2 → 0.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 +4 -4
- data/README.md +9 -7
- data/Rakefile +18 -0
- data/app/graphql/mutations/auth/forgot_password.rb +1 -7
- data/app/graphql/mutations/auth/reset_password.rb +0 -10
- data/app/graphql/mutations/auth/sign_in.rb +0 -13
- data/app/graphql/mutations/auth/sign_up.rb +0 -13
- data/app/graphql/mutations/auth/update_account.rb +11 -13
- data/app/graphql/mutations/auth/validate_token.rb +1 -11
- data/{lib/generators/graphql_auth/templates/add_refresh_token_to_user.rb → db/migrate/20190108151146_add_refresh_token_to_user.rb} +0 -0
- data/lib/generators/graphql_auth/install_generator.rb +5 -2
- data/lib/generators/graphql_auth/templates/{initializer.rb → graphql_auth.rb.erb} +1 -1
- data/lib/graphql-auth.rb +1 -0
- data/lib/graphql-auth/engine.rb +3 -1
- data/lib/graphql-auth/version.rb +5 -0
- metadata +81 -25
- data/Gemfile +0 -6
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 2d9b9e3eebb716abb0ae389627c8006f6e83c59a524d0a47952f4ca7b5ae71b0
|
|
4
|
+
data.tar.gz: ea1d59f34080c3f8de6c93ca863896749e2eee33c639ddd03a04769634dd5978
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: e63952bea921336b3e583af3f27eba1dde05b1fd21004be8d6eefd97086d51b0535b6290f065ff6a9683ec17d3e20661a584d123756d079552c07a7eeeb3e365
|
|
7
|
+
data.tar.gz: e10144fa6c1d8ded3de6f4f0e4f4d449c4a4561485c9a03910e776d1c3d9b4f346ed224c7dae4d5efdbd2c7579924018f54ae7da14351f042d45777b013fecb9
|
data/README.md
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
# GraphQL Auth
|
|
1
|
+
# GraphQL Auth
|
|
2
|
+
|
|
3
|
+
[](https://travis-ci.org/o2web/graphql-auth) [](https://codeclimate.com/github/o2web/graphql-auth/maintainability)
|
|
2
4
|
|
|
3
5
|
Welcome to your new gem! In this directory, you'll find the files you need to be able to package up your Ruby library into a gem. Put your Ruby code in the file `lib/graphql-auth`. To experiment with that code, run `bin/console` for an interactive prompt.
|
|
4
6
|
|
|
@@ -26,14 +28,14 @@ rails g graphql_auth:install
|
|
|
26
28
|
|
|
27
29
|
Make sure to read all configurations present inside the file and fill them with your own configs.
|
|
28
30
|
|
|
29
|
-
## Devise gem
|
|
31
|
+
## Devise gem
|
|
30
32
|
|
|
31
|
-
Use Devise with a User model and skip all route
|
|
33
|
+
Use Devise with a User model and skip all route
|
|
32
34
|
|
|
33
|
-
```
|
|
34
|
-
Rails.application.routes.draw do
|
|
35
|
-
devise_for :users, skip: :all
|
|
36
|
-
end
|
|
35
|
+
```
|
|
36
|
+
Rails.application.routes.draw do
|
|
37
|
+
devise_for :users, skip: :all
|
|
38
|
+
end
|
|
37
39
|
```
|
|
38
40
|
|
|
39
41
|
## Usage
|
data/Rakefile
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
begin
|
|
2
|
+
require 'bundler/setup'
|
|
3
|
+
rescue LoadError
|
|
4
|
+
puts 'You must `gem install bundler` and `bundle install` to run rake tasks'
|
|
5
|
+
end
|
|
6
|
+
|
|
7
|
+
APP_RAKEFILE = File.expand_path('spec/dummy/Rakefile', __dir__)
|
|
8
|
+
load 'rails/tasks/engine.rake'
|
|
9
|
+
|
|
10
|
+
require 'rake'
|
|
11
|
+
require 'rspec/core/rake_task'
|
|
12
|
+
|
|
13
|
+
RSpec::Core::RakeTask.new(:spec) do |t|
|
|
14
|
+
t.pattern = Dir.glob('spec/**/*_spec.rb')
|
|
15
|
+
t.rspec_opts = '--format documentation'
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
task default: :spec
|
|
@@ -1,12 +1,5 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
# mutation {
|
|
4
|
-
# forgotPassword(email: "email@example.com") {
|
|
5
|
-
# valid
|
|
6
|
-
# success
|
|
7
|
-
# }
|
|
8
|
-
# }
|
|
9
|
-
|
|
10
3
|
class Mutations::Auth::ForgotPassword < GraphQL::Schema::Mutation
|
|
11
4
|
argument :email, String, required: true do
|
|
12
5
|
description 'The email with forgotten password'
|
|
@@ -14,6 +7,7 @@ class Mutations::Auth::ForgotPassword < GraphQL::Schema::Mutation
|
|
|
14
7
|
|
|
15
8
|
field :errors, [::Types::Auth::Error], null: false
|
|
16
9
|
field :success, Boolean, null: false
|
|
10
|
+
field :valid, Boolean, null: false
|
|
17
11
|
|
|
18
12
|
def resolve(email:)
|
|
19
13
|
user = User.find_by email: email
|
|
@@ -1,15 +1,5 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
# mutation {
|
|
4
|
-
# resetPassword(resetPasswordToken: "token", password: "password", passwordConfirmation: "password") {
|
|
5
|
-
# success
|
|
6
|
-
# errors {
|
|
7
|
-
# field
|
|
8
|
-
# message
|
|
9
|
-
# }
|
|
10
|
-
# }
|
|
11
|
-
# }
|
|
12
|
-
|
|
13
3
|
class Mutations::Auth::ResetPassword < GraphQL::Schema::Mutation
|
|
14
4
|
argument :reset_password_token, String, required: true do
|
|
15
5
|
description "Reset password token"
|
|
@@ -1,18 +1,5 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
# mutation {
|
|
4
|
-
# signIn(email: "email@example.com", password: "password") {
|
|
5
|
-
# success
|
|
6
|
-
# user {
|
|
7
|
-
# email
|
|
8
|
-
# }
|
|
9
|
-
# errors {
|
|
10
|
-
# field
|
|
11
|
-
# message
|
|
12
|
-
# }
|
|
13
|
-
# }
|
|
14
|
-
# }
|
|
15
|
-
|
|
16
3
|
class Mutations::Auth::SignIn < GraphQL::Schema::Mutation
|
|
17
4
|
include ::Graphql::TokenHelper
|
|
18
5
|
|
|
@@ -1,18 +1,5 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
# mutation {
|
|
4
|
-
# signUp(email: "email@example.com", password: "password", passwordConfirmation: "password") {
|
|
5
|
-
# success
|
|
6
|
-
# user {
|
|
7
|
-
# email
|
|
8
|
-
# }
|
|
9
|
-
# errors {
|
|
10
|
-
# field
|
|
11
|
-
# message
|
|
12
|
-
# }
|
|
13
|
-
# }
|
|
14
|
-
# }
|
|
15
|
-
|
|
16
3
|
class Mutations::Auth::SignUp < GraphQL::Schema::Mutation
|
|
17
4
|
include ::Graphql::TokenHelper
|
|
18
5
|
|
|
@@ -1,18 +1,5 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
# mutation {
|
|
4
|
-
# updateAccount(current_password: "currentPassword", password: "newPassword", password_confirmation: "newPassword") {
|
|
5
|
-
# success
|
|
6
|
-
# user {
|
|
7
|
-
# email
|
|
8
|
-
# }
|
|
9
|
-
# errors {
|
|
10
|
-
# field
|
|
11
|
-
# message
|
|
12
|
-
# }
|
|
13
|
-
# }
|
|
14
|
-
# }
|
|
15
|
-
|
|
16
3
|
class Mutations::Auth::UpdateAccount < GraphQL::Schema::Mutation
|
|
17
4
|
argument :current_password, String, required: true do
|
|
18
5
|
description "User's current password"
|
|
@@ -32,6 +19,17 @@ class Mutations::Auth::UpdateAccount < GraphQL::Schema::Mutation
|
|
|
32
19
|
|
|
33
20
|
def resolve(args)
|
|
34
21
|
user = context[:current_user]
|
|
22
|
+
|
|
23
|
+
if user.blank?
|
|
24
|
+
return {
|
|
25
|
+
errors: [
|
|
26
|
+
{ field: :_error, message: I18n.t('devise.failure.unauthenticated') }
|
|
27
|
+
],
|
|
28
|
+
success: false,
|
|
29
|
+
user: nil
|
|
30
|
+
}
|
|
31
|
+
end
|
|
32
|
+
|
|
35
33
|
user.update_with_password args
|
|
36
34
|
|
|
37
35
|
if user.errors.any?
|
|
@@ -1,15 +1,5 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
# mutation {
|
|
4
|
-
# validateToken {
|
|
5
|
-
# success
|
|
6
|
-
# valid
|
|
7
|
-
# user {
|
|
8
|
-
# email
|
|
9
|
-
# }
|
|
10
|
-
# }
|
|
11
|
-
# }
|
|
12
|
-
|
|
13
3
|
class Mutations::Auth::ValidateToken < GraphQL::Schema::Mutation
|
|
14
4
|
field :errors, [::Types::Auth::Error], null: false
|
|
15
5
|
field :success, Boolean, null: false
|
|
@@ -26,4 +16,4 @@ class Mutations::Auth::ValidateToken < GraphQL::Schema::Mutation
|
|
|
26
16
|
valid: user.present?,
|
|
27
17
|
}
|
|
28
18
|
end
|
|
29
|
-
end
|
|
19
|
+
end
|
|
File without changes
|
|
@@ -4,8 +4,11 @@ module GraphqlAuth
|
|
|
4
4
|
source_root File.expand_path('../templates', __FILE__)
|
|
5
5
|
|
|
6
6
|
def copy_configuration
|
|
7
|
-
template '
|
|
8
|
-
|
|
7
|
+
template 'graphql_auth.rb.erb', 'config/initializers/graphql_auth.rb'
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
def rake_db
|
|
11
|
+
rake("railties:install:migrations")
|
|
9
12
|
end
|
|
10
13
|
end
|
|
11
14
|
end
|
data/lib/graphql-auth.rb
CHANGED
data/lib/graphql-auth/engine.rb
CHANGED
metadata
CHANGED
|
@@ -1,43 +1,29 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: graphql-auth
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.3.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Guillaume Ferland
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2019-
|
|
11
|
+
date: 2019-02-21 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
|
-
name:
|
|
15
|
-
requirement: !ruby/object:Gem::Requirement
|
|
16
|
-
requirements:
|
|
17
|
-
- - "~>"
|
|
18
|
-
- !ruby/object:Gem::Version
|
|
19
|
-
version: '1.15'
|
|
20
|
-
type: :development
|
|
21
|
-
prerelease: false
|
|
22
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
23
|
-
requirements:
|
|
24
|
-
- - "~>"
|
|
25
|
-
- !ruby/object:Gem::Version
|
|
26
|
-
version: '1.15'
|
|
27
|
-
- !ruby/object:Gem::Dependency
|
|
28
|
-
name: rake
|
|
14
|
+
name: rails
|
|
29
15
|
requirement: !ruby/object:Gem::Requirement
|
|
30
16
|
requirements:
|
|
31
17
|
- - "~>"
|
|
32
18
|
- !ruby/object:Gem::Version
|
|
33
|
-
version: '
|
|
34
|
-
type: :
|
|
19
|
+
version: '5.1'
|
|
20
|
+
type: :runtime
|
|
35
21
|
prerelease: false
|
|
36
22
|
version_requirements: !ruby/object:Gem::Requirement
|
|
37
23
|
requirements:
|
|
38
24
|
- - "~>"
|
|
39
25
|
- !ruby/object:Gem::Version
|
|
40
|
-
version: '
|
|
26
|
+
version: '5.1'
|
|
41
27
|
- !ruby/object:Gem::Dependency
|
|
42
28
|
name: graphql
|
|
43
29
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -80,6 +66,76 @@ dependencies:
|
|
|
80
66
|
- - "~>"
|
|
81
67
|
- !ruby/object:Gem::Version
|
|
82
68
|
version: '1.5'
|
|
69
|
+
- !ruby/object:Gem::Dependency
|
|
70
|
+
name: sqlite3
|
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
|
72
|
+
requirements:
|
|
73
|
+
- - "~>"
|
|
74
|
+
- !ruby/object:Gem::Version
|
|
75
|
+
version: 1.3.6
|
|
76
|
+
type: :development
|
|
77
|
+
prerelease: false
|
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
79
|
+
requirements:
|
|
80
|
+
- - "~>"
|
|
81
|
+
- !ruby/object:Gem::Version
|
|
82
|
+
version: 1.3.6
|
|
83
|
+
- !ruby/object:Gem::Dependency
|
|
84
|
+
name: bundler
|
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
|
86
|
+
requirements:
|
|
87
|
+
- - "~>"
|
|
88
|
+
- !ruby/object:Gem::Version
|
|
89
|
+
version: '1.15'
|
|
90
|
+
type: :development
|
|
91
|
+
prerelease: false
|
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
93
|
+
requirements:
|
|
94
|
+
- - "~>"
|
|
95
|
+
- !ruby/object:Gem::Version
|
|
96
|
+
version: '1.15'
|
|
97
|
+
- !ruby/object:Gem::Dependency
|
|
98
|
+
name: rake
|
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
|
100
|
+
requirements:
|
|
101
|
+
- - "~>"
|
|
102
|
+
- !ruby/object:Gem::Version
|
|
103
|
+
version: '10.0'
|
|
104
|
+
type: :development
|
|
105
|
+
prerelease: false
|
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
107
|
+
requirements:
|
|
108
|
+
- - "~>"
|
|
109
|
+
- !ruby/object:Gem::Version
|
|
110
|
+
version: '10.0'
|
|
111
|
+
- !ruby/object:Gem::Dependency
|
|
112
|
+
name: rspec
|
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
|
114
|
+
requirements:
|
|
115
|
+
- - "~>"
|
|
116
|
+
- !ruby/object:Gem::Version
|
|
117
|
+
version: '3.0'
|
|
118
|
+
type: :development
|
|
119
|
+
prerelease: false
|
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
121
|
+
requirements:
|
|
122
|
+
- - "~>"
|
|
123
|
+
- !ruby/object:Gem::Version
|
|
124
|
+
version: '3.0'
|
|
125
|
+
- !ruby/object:Gem::Dependency
|
|
126
|
+
name: database_cleaner
|
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
|
128
|
+
requirements:
|
|
129
|
+
- - ">="
|
|
130
|
+
- !ruby/object:Gem::Version
|
|
131
|
+
version: '0'
|
|
132
|
+
type: :development
|
|
133
|
+
prerelease: false
|
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
135
|
+
requirements:
|
|
136
|
+
- - ">="
|
|
137
|
+
- !ruby/object:Gem::Version
|
|
138
|
+
version: '0'
|
|
83
139
|
description: GraphQL + JWT + Devise
|
|
84
140
|
email:
|
|
85
141
|
- ferland182@gmail.com
|
|
@@ -87,8 +143,8 @@ executables: []
|
|
|
87
143
|
extensions: []
|
|
88
144
|
extra_rdoc_files: []
|
|
89
145
|
files:
|
|
90
|
-
- Gemfile
|
|
91
146
|
- README.md
|
|
147
|
+
- Rakefile
|
|
92
148
|
- app/graphql/mutations/auth/forgot_password.rb
|
|
93
149
|
- app/graphql/mutations/auth/reset_password.rb
|
|
94
150
|
- app/graphql/mutations/auth/sign_in.rb
|
|
@@ -101,14 +157,15 @@ files:
|
|
|
101
157
|
- app/helpers/graphql/auth_helper.rb
|
|
102
158
|
- app/helpers/graphql/token_helper.rb
|
|
103
159
|
- app/views/devise/mailer/reset_password_instructions.html.erb
|
|
160
|
+
- db/migrate/20190108151146_add_refresh_token_to_user.rb
|
|
104
161
|
- lib/generators/graphql_auth/install_generator.rb
|
|
105
|
-
- lib/generators/graphql_auth/templates/
|
|
106
|
-
- lib/generators/graphql_auth/templates/initializer.rb
|
|
162
|
+
- lib/generators/graphql_auth/templates/graphql_auth.rb.erb
|
|
107
163
|
- lib/graphql-auth.rb
|
|
108
164
|
- lib/graphql-auth/configuration.rb
|
|
109
165
|
- lib/graphql-auth/engine.rb
|
|
110
166
|
- lib/graphql-auth/jwt_manager.rb
|
|
111
167
|
- lib/graphql-auth/reset_password.rb
|
|
168
|
+
- lib/graphql-auth/version.rb
|
|
112
169
|
homepage: https://github.com/o2web/graphql-auth
|
|
113
170
|
licenses:
|
|
114
171
|
- MIT
|
|
@@ -116,13 +173,12 @@ metadata: {}
|
|
|
116
173
|
post_install_message:
|
|
117
174
|
rdoc_options: []
|
|
118
175
|
require_paths:
|
|
119
|
-
- app
|
|
120
176
|
- lib
|
|
121
177
|
required_ruby_version: !ruby/object:Gem::Requirement
|
|
122
178
|
requirements:
|
|
123
179
|
- - ">="
|
|
124
180
|
- !ruby/object:Gem::Version
|
|
125
|
-
version:
|
|
181
|
+
version: 2.4.5
|
|
126
182
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
127
183
|
requirements:
|
|
128
184
|
- - ">="
|