Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/flavors/django-graphql-jwt

JSON Web Token (JWT) authentication for Graphene Django
https://github.com/flavors/django-graphql-jwt

authentication django graphene graphql jsonwebtoken jwt oauth2 token

Last synced: 1 day ago
JSON representation

JSON Web Token (JWT) authentication for Graphene Django

Awesome Lists containing this project

README

        


Django GraphQL JWT


JSON Web Token authentication for Django GraphQL.

Fantastic documentation is available at https://django-graphql-jwt.domake.io.




Test


Coverage


Codacy


Package version

## Installation

Install last stable version from Pypi:

```sh
pip install django-graphql-jwt
```

Add `AuthenticationMiddleware` middleware to your *MIDDLEWARE* settings:

```py
MIDDLEWARE = [
# ...
"django.contrib.auth.middleware.AuthenticationMiddleware",
# ...
]
```

Add `JSONWebTokenMiddleware` middleware to your *GRAPHENE* settings:

```py
GRAPHENE = {
"SCHEMA": "mysite.myschema.schema",
"MIDDLEWARE": [
"graphql_jwt.middleware.JSONWebTokenMiddleware",
],
}
```

Add `JSONWebTokenBackend` backend to your *AUTHENTICATION_BACKENDS*:

```py
AUTHENTICATION_BACKENDS = [
"graphql_jwt.backends.JSONWebTokenBackend",
"django.contrib.auth.backends.ModelBackend",
]
```

## Schema

Add *django-graphql-jwt* mutations to the root schema:

```py
import graphene
import graphql_jwt

class Mutation(graphene.ObjectType):
token_auth = graphql_jwt.ObtainJSONWebToken.Field()
verify_token = graphql_jwt.Verify.Field()
refresh_token = graphql_jwt.Refresh.Field()

schema = graphene.Schema(mutation=Mutation)
```