Skip to content

red-p1xel/laravel-graphql-jwt

Repository files navigation

Laravel 8.x: GraphQL JWT Auth

RAD server-side Docker starter with PHP 8, MySQL 8 PHPCodeSniffer software and source code examples for implement GraphQL API with JWT auth issue.

Documentation

Deployment

# Build backend application in 'development' mode
$ docker-compose -f development.yml build app
$ docker-compose -f development.yml up -d
# First installation steps
$ docker-compose -f development.yml exec app composer install
$ docker-compose -f development.yml exec app php artisan key:generate
$ docker-compose -f development.yml exec app php artisan config:clear
# Generate secret key for tokens
$ docker-compose -f development.yml exec app php artisan jwt:secret

# Apply migration and seeding fake data to database   
$ docker-compose -f development.yml exec app php artisan migrate --seed

# Publish the config file for GraphQL
$ docker-compose -f development.yml exec app php artisan vendor:publish --provider="Rebing\GraphQL\GraphQLServiceProvider"
# Publish the config file for JWT
$ docker-compose -f development.yml exec app php artisan vendor:publish --provider="Tymon\JWTAuth\Providers\LaravelServiceProvider"

# Start analyzing your code using the phpstan console command
$ docker-compose -f development.yml exec app ./vendor/bin/phpstan analyse --memory-limit=4G

GraphQL Examples

Mutation registerUser

Create new user account

    mutation {
      registerUser(name: "Ali Destro", email: "[email protected]", password: "password7") {
        id
        email
        updated
      }
    }

Mutation loginUser

Authenticate user to GraphQL and return Bearer access_token JWT

    mutation {
      loginUser(email: "[email protected]", password: "userPassword3")
    }

Query get user by id

Get user by id (Request with this query must contain Authentication header with Bearer access_token JWT)

    query {
        user: user(id: 14) {
            id
            name
            email
        }
    }

About

JWT Auth API (PHP 8, Laravel 8, GraphQL)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published