|
1 | 1 | <?php
|
| 2 | +/** |
| 3 | + * Register the login mutation to the WPGraphQL Schema |
| 4 | + * |
| 5 | + * @package WPGraphQL\JWT_Authentication |
| 6 | + * @since 0.0.1 |
| 7 | + */ |
| 8 | + |
2 | 9 | namespace WPGraphQL\JWT_Authentication;
|
3 | 10 |
|
4 | 11 | use GraphQL\Type\Definition\ResolveInfo;
|
5 | 12 | use WPGraphQL\AppContext;
|
6 | 13 |
|
| 14 | +/** |
| 15 | + * Class - Login |
| 16 | + */ |
7 | 17 | class Login {
|
8 |
| - |
9 | 18 | /**
|
10 |
| - * Register the login mutation to the WPGraphQL Schema |
| 19 | + * Register the mutation. |
11 | 20 | */
|
12 | 21 | public static function register_mutation() {
|
13 |
| - |
14 |
| - register_graphql_mutation( 'login', [ |
15 |
| - 'description' => __( 'Login a user. Request for an authToken and User details in response', 'wp-graphql-jwt-authentication' ), |
16 |
| - 'inputFields' => [ |
17 |
| - 'username' => [ |
18 |
| - 'type' => [ 'non_null' => 'String' ], |
19 |
| - 'description' => __( 'The username used for login. Typically a unique or email address depending on specific configuration', 'wp-graphql-jwt-authentication' ), |
20 |
| - ], |
21 |
| - 'password' => [ |
22 |
| - 'type' => [ 'non_null' => 'String' ], |
23 |
| - 'description' => __( 'The plain-text password for the user logging in.', 'wp-graphql-jwt-authentication' ), |
24 |
| - ], |
25 |
| - ], |
26 |
| - 'outputFields' => [ |
27 |
| - 'authToken' => [ |
28 |
| - 'type' => 'String', |
29 |
| - 'description' => __( 'JWT Token that can be used in future requests for Authentication', 'wp-graphql-jwt-authentication' ), |
| 22 | + register_graphql_mutation( |
| 23 | + 'login', |
| 24 | + [ |
| 25 | + 'description' => __( 'Login a user. Request for an authToken and User details in response', 'wp-graphql-jwt-authentication' ), |
| 26 | + 'inputFields' => [ |
| 27 | + 'username' => [ |
| 28 | + 'type' => [ 'non_null' => 'String' ], |
| 29 | + 'description' => __( 'The username used for login. Typically a unique or email address depending on specific configuration', 'wp-graphql-jwt-authentication' ), |
| 30 | + ], |
| 31 | + 'password' => [ |
| 32 | + 'type' => [ 'non_null' => 'String' ], |
| 33 | + 'description' => __( 'The plain-text password for the user logging in.', 'wp-graphql-jwt-authentication' ), |
| 34 | + ], |
30 | 35 | ],
|
31 |
| - 'refreshToken' => [ |
32 |
| - 'type' => 'String', |
33 |
| - 'description' => __( 'A JWT token that can be used in future requests to get a refreshed jwtAuthToken. If the refresh token used in a request is revoked or otherwise invalid, a valid Auth token will NOT be issued in the response headers.', 'wp-graphql-jwt-authentication' ), |
| 36 | + 'outputFields' => [ |
| 37 | + 'authToken' => [ |
| 38 | + 'type' => 'String', |
| 39 | + 'description' => __( 'JWT Token that can be used in future requests for Authentication', 'wp-graphql-jwt-authentication' ), |
| 40 | + ], |
| 41 | + 'refreshToken' => [ |
| 42 | + 'type' => 'String', |
| 43 | + 'description' => __( 'A JWT token that can be used in future requests to get a refreshed jwtAuthToken. If the refresh token used in a request is revoked or otherwise invalid, a valid Auth token will NOT be issued in the response headers.', 'wp-graphql-jwt-authentication' ), |
| 44 | + ], |
| 45 | + 'user' => [ |
| 46 | + 'type' => 'User', |
| 47 | + 'description' => __( 'The user that was logged in', 'wp-graphql-jwt-authentication' ), |
| 48 | + ], |
34 | 49 | ],
|
35 |
| - 'user' => [ |
36 |
| - 'type' => 'User', |
37 |
| - 'description' => __( 'The user that was logged in', 'wp-graphql-jwt-authentication' ), |
38 |
| - ], |
39 |
| - ], |
40 |
| - 'mutateAndGetPayload' => function( $input, AppContext $context, ResolveInfo $info ) { |
41 |
| - |
42 |
| - /** |
43 |
| - * Login the user in and get an authToken and user in response |
44 |
| - */ |
45 |
| - return Auth::login_and_get_token( sanitize_user( $input['username'] ), trim( $input['password'] ) ); |
46 |
| - |
47 |
| - }, |
48 |
| - ]); |
49 |
| - |
| 50 | + 'mutateAndGetPayload' => function( $input, AppContext $context, ResolveInfo $info ) { |
| 51 | + // Login the user in and get an authToken and user in response. |
| 52 | + return Auth::login_and_get_token( sanitize_user( $input['username'] ), trim( $input['password'] ) ); |
| 53 | + }, |
| 54 | + ] |
| 55 | + ); |
50 | 56 | }
|
51 |
| - |
52 | 57 | }
|
0 commit comments