Skip to main content

GraphQL integration for AllianceAuth

Project description

allianceauth-graphql

version GitHub issues github

GraphQL integration for AllianceAuth

Free software: GNU General Public License v3

This version is in alpha, please open an issue if you face any bug.

Setup

The following is assuming you have a functioning AllianceAuth installation.

Install plugin

  1. pip install allianceauth-graphql.

  2. Add the following apps to the bottom of your INSTALLED_APPS in the local.py settings file:

    'allianceauth_graphql',
    'graphene_django',
    "graphql_jwt.refresh_token.apps.RefreshTokenConfig",
    
  3. Add the following settings to your local.py file:

    from datetime import timedelta
    
    # ...
    
    GRAPHENE = {
        'SCHEMA': 'allianceauth_graphql.schema.schema',
        "MIDDLEWARE": [
            "graphql_jwt.middleware.JSONWebTokenMiddleware",
        ],
    }
    
    AUTHENTICATION_BACKENDS += [
        "graphql_jwt.backends.JSONWebTokenBackend",
    ]
    
    GRAPHQL_JWT = {
        "JWT_VERIFY_EXPIRATION": True,
        "JWT_LONG_RUNNING_REFRESH_TOKEN": True,
        "JWT_EXPIRATION_DELTA": timedelta(days=1),
        "JWT_REFRESH_EXPIRATION_DELTA": timedelta(days=7),
    }
    

    Feel free to edit the expiration limits of your tokens.

  4. Edit your projects url.py file:

    It should looks something like this

    from django.conf.urls import include, url
    from allianceauth import urls
    
    urlpatterns = [
        url(r'', include(urls)),
    ]
    
    handler500 = 'allianceauth.views.Generic500Redirect'
    handler404 = 'allianceauth.views.Generic404Redirect'
    handler403 = 'allianceauth.views.Generic403Redirect'
    handler400 = 'allianceauth.views.Generic400Redirect'
    

    After the edit:

    from django.conf.urls import include, url
    from allianceauth import urls
    from allianceauth_graphql import urls as aa_gql_urls
    
    urlpatterns = [
        url(r'', include(urls)),
        url(r'graphql/', include(aa_gql_urls)),
    ]
    
    handler500 = 'allianceauth.views.Generic500Redirect'
    handler404 = 'allianceauth.views.Generic404Redirect'
    handler403 = 'allianceauth.views.Generic403Redirect'
    handler400 = 'allianceauth.views.Generic400Redirect'
    
  5. Run migrations.

  6. Restart AllianceAuth.

Settings

Setting Default Description
SHOW_GRAPHIQL True Shows the graphiql UI in the browser
GRAPHQL_LOGIN_SCOPES ['publicData'] Tokens needed. Unlike AllianceAuth pages, you need to login with the scopes you'll use, otherwise you won't be able to perform some queries
REDIRECT_SITE No default The URL domain for redirecting after email verification. It has to have the protocol and not the slash at the end: http(s)://<yoursite>
REDIRECT_PATH /registration/callback/ Path to append to REDIRECT_SITE for building the redirect URL

Credits

This package was created with Cookiecutter and the audreyr/cookiecutter-pypackage project template.

History

v0.4.0 (2022-04-06)

  • Implemented the 3 steps registration

v0.3.1 (2022-04-05)

  • Fixed wrong id reference in addCharacter mutation

v0.3.0 (2022-04-05)

Implemented all the views in the authentication app:

  • Change main character
  • Add a character
  • User's groups
  • User's alts

v0.2.1 (2022-04-04)

  • Updated history and readme, no change to the code.

v0.2.0 (2022-04-04)

  • Working login with django-graphql-jwt.

v0.1.1 (2022-04-02)

  • Working /graphql/ endpoint and updated requirements.

v0.1.0 (2022-03-18)

  • First release on PyPI.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

allianceauth_graphql-0.4.0.tar.gz (11.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

allianceauth_graphql-0.4.0-py2.py3-none-any.whl (12.6 kB view details)

Uploaded Python 2Python 3

File details

Details for the file allianceauth_graphql-0.4.0.tar.gz.

File metadata

  • Download URL: allianceauth_graphql-0.4.0.tar.gz
  • Upload date:
  • Size: 11.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.9.12

File hashes

Hashes for allianceauth_graphql-0.4.0.tar.gz
Algorithm Hash digest
SHA256 72c81f46c934d61832b04da0a210ac69f7adb9c50e8fcab16985890d21944e6a
MD5 659755f75a289ba117dd516c17682b8e
BLAKE2b-256 75a93c2e1f6ad6ff040e51e5994453c18e47c3e50cb2309b8865916fbdae7e98

See more details on using hashes here.

File details

Details for the file allianceauth_graphql-0.4.0-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for allianceauth_graphql-0.4.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 e35ae734944bb77accb5adabe7b31fdd3118c5fe5d9e934e2e0fa901afcc27f8
MD5 209db3e67b46d9c1560177777144fc61
BLAKE2b-256 dae9cb967a1c4ffc6a68a4e6be928e3f0445b0e3f84eb56903fa4efb8139f024

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page