graphql_devise 0.17.0 → 0.17.1
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/Appraisals +7 -0
- data/CHANGELOG.md +12 -0
- data/README.md +24 -25
- data/lib/graphql_devise/mutations/login.rb +2 -0
- data/lib/graphql_devise/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 0a627bf05673e2c42f24eeb15db1101c060caade6270485146676c6e30840e5d
|
|
4
|
+
data.tar.gz: 9e97f20e1c073225d884e4d2e4fd9e0c9bddbf4eab52fc214c7c1cd5a113411f
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 2b4026ea6635fdb87856a57eb50ae58cd5406605ffc46347957e1839da04586e2015792905a8214aa24b4ba0b991102ea0edc4e4713e510e42fa23bc13569a9f
|
|
7
|
+
data.tar.gz: 9b24ea5c67644952818cb0dce4119696aa552e1cc9aeda5c67fbe045d15a64312be4c868eed5b9780f2114e4d6e50a73edf6ca13513fda0c5745213a10a9586f
|
data/Appraisals
CHANGED
|
@@ -3,6 +3,7 @@ appraise 'rails4.2-graphql1.8' do
|
|
|
3
3
|
gem 'bundler', '~> 1.17'
|
|
4
4
|
gem 'rails', github: 'rails/rails', branch: '4-2-stable'
|
|
5
5
|
gem 'graphql', '~> 1.8.0'
|
|
6
|
+
gem 'devise_token_auth', '< 1.2'
|
|
6
7
|
gem 'rspec-rails', '< 4.0'
|
|
7
8
|
end
|
|
8
9
|
|
|
@@ -19,6 +20,7 @@ appraise 'rails5.0-graphql1.9' do
|
|
|
19
20
|
gem 'sqlite3', '~> 1.3.6'
|
|
20
21
|
gem 'rails', github: 'rails/rails', branch: '5-0-stable'
|
|
21
22
|
gem 'graphql', '~> 1.9.0'
|
|
23
|
+
gem 'devise_token_auth', '< 1.2'
|
|
22
24
|
gem 'rspec-rails', '< 4.0'
|
|
23
25
|
end
|
|
24
26
|
|
|
@@ -35,6 +37,7 @@ appraise 'rails5.1-graphql1.9' do
|
|
|
35
37
|
gem 'sqlite3', '~> 1.3.6'
|
|
36
38
|
gem 'rails', github: 'rails/rails', branch: '5-1-stable'
|
|
37
39
|
gem 'graphql', '~> 1.9.0'
|
|
40
|
+
gem 'devise_token_auth', '< 1.2'
|
|
38
41
|
gem 'rspec-rails', '< 4.0'
|
|
39
42
|
end
|
|
40
43
|
|
|
@@ -51,6 +54,7 @@ appraise 'rails5.2-graphql1.9' do
|
|
|
51
54
|
gem 'sqlite3', '~> 1.3.6'
|
|
52
55
|
gem 'rails', github: 'rails/rails', branch: '5-2-stable'
|
|
53
56
|
gem 'graphql', '~> 1.9.0'
|
|
57
|
+
gem 'devise_token_auth', '< 1.2'
|
|
54
58
|
gem 'rspec-rails', '< 4.0'
|
|
55
59
|
end
|
|
56
60
|
|
|
@@ -58,6 +62,7 @@ appraise 'rails5.2-graphql1.10' do
|
|
|
58
62
|
gem 'sqlite3', '~> 1.3.6'
|
|
59
63
|
gem 'rails', github: 'rails/rails', branch: '5-2-stable'
|
|
60
64
|
gem 'graphql', '~> 1.10.0'
|
|
65
|
+
gem 'devise_token_auth', '< 1.2'
|
|
61
66
|
gem 'rspec-rails', '< 4.0'
|
|
62
67
|
end
|
|
63
68
|
|
|
@@ -65,6 +70,7 @@ appraise 'rails5.2-graphql1.11' do
|
|
|
65
70
|
gem 'sqlite3', '~> 1.3.6'
|
|
66
71
|
gem 'rails', github: 'rails/rails', branch: '5-2-stable'
|
|
67
72
|
gem 'graphql', '~> 1.11.0'
|
|
73
|
+
gem 'devise_token_auth', '< 1.2'
|
|
68
74
|
gem 'rspec-rails', '< 4.0'
|
|
69
75
|
end
|
|
70
76
|
|
|
@@ -72,6 +78,7 @@ appraise 'rails5.2-graphql1.12' do
|
|
|
72
78
|
gem 'sqlite3', '~> 1.3.6'
|
|
73
79
|
gem 'rails', github: 'rails/rails', branch: '5-2-stable'
|
|
74
80
|
gem 'graphql', '~> 1.12.0'
|
|
81
|
+
gem 'devise_token_auth', '< 1.2'
|
|
75
82
|
gem 'rspec-rails', '< 4.0'
|
|
76
83
|
end
|
|
77
84
|
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [v0.17.1](https://github.com/graphql-devise/graphql_devise/tree/v0.17.1) (2021-08-02)
|
|
4
|
+
|
|
5
|
+
[Full Changelog](https://github.com/graphql-devise/graphql_devise/compare/v0.17.0...v0.17.1)
|
|
6
|
+
|
|
7
|
+
**Implemented enhancements:**
|
|
8
|
+
|
|
9
|
+
- Set context\[:current\_resource\] upon login [\#193](https://github.com/graphql-devise/graphql_devise/pull/193) ([TomasBarry](https://github.com/TomasBarry))
|
|
10
|
+
|
|
11
|
+
**Merged pull requests:**
|
|
12
|
+
|
|
13
|
+
- Improve README [\#190](https://github.com/graphql-devise/graphql_devise/pull/190) ([00dav00](https://github.com/00dav00))
|
|
14
|
+
|
|
3
15
|
## [v0.17.0](https://github.com/graphql-devise/graphql_devise/tree/v0.17.0) (2021-06-09)
|
|
4
16
|
|
|
5
17
|
[Full Changelog](https://github.com/graphql-devise/graphql_devise/compare/v0.16.0...v0.17.0)
|
data/README.md
CHANGED
|
@@ -14,16 +14,15 @@ GraphQL interface on top of the [Devise Token Auth](https://github.com/lynndylan
|
|
|
14
14
|
* [Installation](#installation)
|
|
15
15
|
* [Running the Generator](#running-the-generator)
|
|
16
16
|
* [Mounting the Schema in a Separate Route](#mounting-the-schema-in-a-separate-route)
|
|
17
|
-
|
|
18
|
-
* [Mounting Operations in Your Own Schema (> v0.12.0)](#mounting-operations-in-your-own-schema--v0120)
|
|
19
|
-
* [Important](#important-1)
|
|
17
|
+
* [Mounting Operations in an Existing Schema (> v0.12.0)](#mounting-operations-in-an-existing-schema--v0120)
|
|
20
18
|
* [Usage](#usage)
|
|
21
19
|
* [Mounting Auth Schema on a Separate Route](#mounting-auth-schema-on-a-separate-route)
|
|
22
|
-
* [Mounting Operations
|
|
20
|
+
* [Mounting Operations In an Existing Schema](#mounting-operations-in-an-existing-schema)
|
|
23
21
|
* [Available Mount Options](#available-mount-options)
|
|
24
22
|
* [Available Operations](#available-operations)
|
|
25
23
|
* [Configuring Model](#configuring-model)
|
|
26
24
|
* [Email Reconfirmation](#email-reconfirmation)
|
|
25
|
+
* [Current flow](#current-flow)
|
|
27
26
|
* [Deprecated flow - Do Not Use](#deprecated-flow---do-not-use)
|
|
28
27
|
* [Customizing Email Templates](#customizing-email-templates)
|
|
29
28
|
* [I18n](#i18n)
|
|
@@ -31,9 +30,9 @@ GraphQL interface on top of the [Devise Token Auth](https://github.com/lynndylan
|
|
|
31
30
|
* [Authenticate Resource in the Controller (>= v0.15.0)](#authenticate-resource-in-the-controller--v0150)
|
|
32
31
|
* [Authentication Options](#authentication-options)
|
|
33
32
|
* [Authenticate Before Reaching Your GQL Schema (Deprecated)](#authenticate-before-reaching-your-gql-schema-deprecated)
|
|
34
|
-
* [Authenticate in
|
|
33
|
+
* [Authenticate in an Existing Schema (Deprecated)](#authenticate-in-an-existing-schema-deprecated)
|
|
35
34
|
* [Authentication Options](#authentication-options-1)
|
|
36
|
-
* [Important](#important
|
|
35
|
+
* [Important](#important)
|
|
37
36
|
* [Making Requests](#making-requests)
|
|
38
37
|
* [Introspection query](#introspection-query)
|
|
39
38
|
* [Mutations](#mutations)
|
|
@@ -48,7 +47,7 @@ GraphQL interface on top of the [Devise Token Auth](https://github.com/lynndylan
|
|
|
48
47
|
* [Contributing](#contributing)
|
|
49
48
|
* [License](#license)
|
|
50
49
|
|
|
51
|
-
<!-- Added by:
|
|
50
|
+
<!-- Added by: david, at: jue jun 24 18:32:27 -05 2021 -->
|
|
52
51
|
|
|
53
52
|
<!--te-->
|
|
54
53
|
|
|
@@ -82,11 +81,10 @@ Graphql Devise generator will execute `Devise` and `Devise Token Auth` generator
|
|
|
82
81
|
```bash
|
|
83
82
|
$ bundle exec rails generate graphql_devise:install
|
|
84
83
|
```
|
|
85
|
-
The generator accepts 2 params:
|
|
84
|
+
The generator accepts 2 params and 1 option:
|
|
86
85
|
- `user_class`: Model name in which `Devise` modules will be included. This uses a `find or create` strategy. Defaults to `User`.
|
|
87
86
|
- `mount_path`: Path in which the dedicated graphql schema for devise will be mounted. Defaults to `/graphql_auth`.
|
|
88
|
-
|
|
89
|
-
The option `mount` is available starting from `v0.12.0`. This option will allow you to mount the operations in your own schema instead of a dedicated one. When this option is provided `mount_path` param is not used.
|
|
87
|
+
- `--mount`: This options is available starting from `v0.12.0`, it allows you to mount the operations in your own schema instead of a dedicated one. When provided `mount_path` param is ignored.
|
|
90
88
|
|
|
91
89
|
#### Mounting the Schema in a Separate Route
|
|
92
90
|
|
|
@@ -109,12 +107,12 @@ Will do the following:
|
|
|
109
107
|
`Admin` could be any model name you are going to be using for authentication,
|
|
110
108
|
and `api/auth` could be any mount path you would like to use for auth.
|
|
111
109
|
|
|
112
|
-
|
|
110
|
+
**Important**
|
|
113
111
|
- Remember that by default this gem mounts a completely separate GraphQL schema on a separate controller in the route provided by the `at` option in the `mount_graphql_devise_for` method in the `config/routes.rb` file. If no `at` option is provided, the route will be `/graphql_auth`.
|
|
114
|
-
- Avoid passing the `--mount` option
|
|
112
|
+
- Avoid passing the `--mount` option if you want to use a separate route and schema.
|
|
115
113
|
|
|
116
|
-
#### Mounting Operations in
|
|
117
|
-
To configure the gem to use
|
|
114
|
+
#### Mounting Operations in an Existing Schema (> v0.12.0)
|
|
115
|
+
To configure the gem to use an existing GQL schema use the `--mount` option.
|
|
118
116
|
For instance the executing:
|
|
119
117
|
|
|
120
118
|
```bash
|
|
@@ -130,8 +128,8 @@ Will do the following:
|
|
|
130
128
|
- Add `SchemaPlugin` to the specified schema.
|
|
131
129
|
|
|
132
130
|
|
|
133
|
-
|
|
134
|
-
- When using the `--mount` option the `mount_path`
|
|
131
|
+
**Important**
|
|
132
|
+
- When using the `--mount` option the `mount_path` param is ignored.
|
|
135
133
|
- The generator will look for your schema under `app/graphql/` directory. We are expecting the name of the file is the same as the as the one passed in the mount option transformed with `underscore`. In the example, passing `MySchema`, will try to find the file `app/graphql/my_schema.rb`.
|
|
136
134
|
- You can actually mount a resource's auth schema in a separate route and in your app's schema at the same time, but that's probably not a common scenario.
|
|
137
135
|
|
|
@@ -176,10 +174,10 @@ The second argument of the `mount_graphql_devise` method is a hash of options wh
|
|
|
176
174
|
customize how the queries and mutations are mounted into the schema. For a list of available
|
|
177
175
|
options go [here](#available-mount-options)
|
|
178
176
|
|
|
179
|
-
### Mounting Operations
|
|
177
|
+
### Mounting Operations In an Existing Schema
|
|
180
178
|
|
|
181
|
-
Starting with `v0.12.0` you can
|
|
182
|
-
|
|
179
|
+
Starting with `v0.12.0` you can mount the GQL operations provided by this gem into an
|
|
180
|
+
existing schema in you app.
|
|
183
181
|
|
|
184
182
|
```ruby
|
|
185
183
|
# app/graphql/dummy_schema.rb
|
|
@@ -353,10 +351,11 @@ to call a different update method on your resource,`update_with_email`.
|
|
|
353
351
|
When the resource is not reconfirmable or the email is not updated, this method behaves exactly
|
|
354
352
|
the same as ActiveRecord's `update`.
|
|
355
353
|
|
|
354
|
+
#### Current flow
|
|
356
355
|
`update_with_email` requires one additional attribute when email will change or an error
|
|
357
356
|
will be raised:
|
|
358
357
|
|
|
359
|
-
|
|
358
|
+
- `confirmation_url`: The full url of your client application. The confirmation email will contain this url plus
|
|
360
359
|
a confirmation token. You need to call `confirmRegistrationWithToken` with the given token on
|
|
361
360
|
your client application.
|
|
362
361
|
|
|
@@ -374,12 +373,12 @@ user.update_with_email(
|
|
|
374
373
|
`update_with_email` requires two additional attributes when email will change or an error
|
|
375
374
|
will be raised:
|
|
376
375
|
|
|
377
|
-
|
|
376
|
+
- `schema_url`: The full url where your GQL schema is mounted. You can get this value from the
|
|
378
377
|
controller available in the context of your mutations and queries like this:
|
|
379
378
|
```ruby
|
|
380
379
|
context[:controller].full_url_without_params
|
|
381
380
|
```
|
|
382
|
-
|
|
381
|
+
- `confirmation_success_url`: This the full url where you want users to be redirected after
|
|
383
382
|
the email has changed successfully (usually a front-end url). This value is mandatory
|
|
384
383
|
unless you have set `default_confirm_success_url` in your devise_token_auth initializer.
|
|
385
384
|
|
|
@@ -459,7 +458,7 @@ schema. Configure the plugin as explained [here](#mounting-operations-into-your-
|
|
|
459
458
|
so this can work.
|
|
460
459
|
|
|
461
460
|
##### Authentication Options
|
|
462
|
-
|
|
461
|
+
Whether you setup authentications as a default in the plugin, or you do it at the field level,
|
|
463
462
|
these are the options you can use:
|
|
464
463
|
1. **Any truthy value:** If `current_resource` is not `.present?`, query will return an authentication error.
|
|
465
464
|
1. **A callable object:** Provided object will be called with `current_resource` as the only argument if `current_resource` is `.present?`. If return value of the callable object is false, query will return an authentication error.
|
|
@@ -501,7 +500,7 @@ end
|
|
|
501
500
|
The install generator can include the concern in you application controller.
|
|
502
501
|
If authentication fails for a request, execution will halt and a REST error will be returned since the request never reaches your GQL schema.
|
|
503
502
|
|
|
504
|
-
#### Authenticate in
|
|
503
|
+
#### Authenticate in an Existing Schema (Deprecated)
|
|
505
504
|
For this you will need to add the `GraphqlDevise::SchemaPlugin` to your schema as described
|
|
506
505
|
[here](#mounting-operations-into-your-own-schema).
|
|
507
506
|
|
|
@@ -537,7 +536,7 @@ schema. Configure the plugin as explained [here](#mounting-operations-into-your-
|
|
|
537
536
|
so this can work.
|
|
538
537
|
|
|
539
538
|
##### Authentication Options
|
|
540
|
-
|
|
539
|
+
Whether you setup authentications as a default in the plugin, or you do it at the field level,
|
|
541
540
|
these are the options you can use:
|
|
542
541
|
1. **Any truthy value:** If `current_resource` is not `.present?`, query will return an authentication error.
|
|
543
542
|
1. **A callable object:** Provided object will be called with `current_resource` as the only argument if `current_resource` is `.present?`. If return value of the callable object is false, query will return an authentication error.
|
|
@@ -24,6 +24,8 @@ module GraphqlDevise
|
|
|
24
24
|
|
|
25
25
|
yield resource if block_given?
|
|
26
26
|
|
|
27
|
+
context[:current_resource] = resource if context[:current_resource].nil?
|
|
28
|
+
|
|
27
29
|
{ authenticatable: resource, credentials: new_headers }
|
|
28
30
|
elsif resource && !active_for_authentication?(resource)
|
|
29
31
|
if locked?(resource)
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: graphql_devise
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.17.
|
|
4
|
+
version: 0.17.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Mario Celi
|
|
@@ -9,7 +9,7 @@ authors:
|
|
|
9
9
|
autorequire:
|
|
10
10
|
bindir: exe
|
|
11
11
|
cert_chain: []
|
|
12
|
-
date: 2021-
|
|
12
|
+
date: 2021-08-02 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
|
14
14
|
- !ruby/object:Gem::Dependency
|
|
15
15
|
name: devise_token_auth
|