Django GraphQL Auth
===================
|Pypi| |Build Status| |Codecov|
GraphQL implementation of the `Django <https://github.com/django/django>`_
authentication system.
It abstract all the basic logic of handling user accounts out of your app,
so you don't need to think about it and can **get up and running faster**.
No lock-in. When you are ready to implement your own code or this package
is not up to your expectations , it's easy to extend or switch to
your implementation.
Documentation
-------------
Documentation is available at `read the docs <https://django-graphql-auth.readthedocs.io/en/latest/>`_.
Features
--------
* `Awesome docs <https://django-graphql-auth.readthedocs.io/en/latest/>`_
* Fully compatible with `Relay <https://github.com/facebook/relay>`_
* Works with default/custom user model
* JWT authentication (with `Django GraphQL JWT <https://github.com/flavors/django-graphql-jwt>`_)
* User query with filters (with `Django Filter <https://github.com/carltongibson/django-filter>`_ and `Graphene Django <https://github.com/graphql-python/graphene-django>`_)
* User registration with email verification
* Resend activation email
* Add secondary email, with email verification too
* Retrieve/Update user
* Archive user
* Permanently delete user or make it inactive
* Turn archived user active again on login
* Track user status (archived, verified, secondary email)
* Password change
* Password reset through email
* Revoke user refresh tokens on account archive/delete/password change/reset
* All mutations return ``success`` and ``errors``
* Default email templates *(you will customize though)*
* Customizable, no lock-in
Preview
-------
Handling user accounts becomes super easy.
.. code:: bash
mutation {
register(
email: "new_user@email.com",
username: "new_user",
password1: "123456super",
password2: "123456super",
) {
success,
errors,
token,
refreshToken
}
}
Check the status of the new user:
.. code:: python
u = UserModel.objects.last()
u.status.verified
# False
During the registration, an email with a verification link was sent.
.. code:: bash
mutation {
verifyAccount(
token:"<TOKEN ON EMAIL LINK>",
) {
success,
errors
}
}
Now user is verified.
.. code:: python
u.status.verified
# True
Check the `installation guide <https://django-graphql-auth.readthedocs.io/en/latest/installation/>`_ or jump to the `quickstart <https://django-graphql-auth.readthedocs.io/en/latest/quickstart/>`_. Or if you prefer, browse the `api <https://django-graphql-auth.readthedocs.io/en/latest/api/>`_.
.. |Pypi| image:: https://img.shields.io/pypi/v/django-graphql-auth.svg
:target: https://pypi.org/project/django-graphql-auth/
:alt: Pypi
.. |Build Status| image:: https://travis-ci.com/pedrobern/django-graphql-auth.svg?branch=master
:target: https://travis-ci.com/pedrobern/django-graphql-auth
:alt: Build Status
.. |Codecov| image:: https://img.shields.io/codecov/c/github/pedrobern/django-graphql-auth/master.svg?style=flat-square
:target: https://codecov.io/gh/pedrobern/django-graphql-auth/
:alt: Codecov
Raw data
{
"_id": null,
"home_page": "https://github.com/PedroBern/django-graphql-auth",
"name": "django-graphql-auth-django-4",
"maintainer": "pedrobern",
"docs_url": null,
"requires_python": "",
"maintainer_email": "",
"keywords": "api graphql rest relay graphene auth",
"author": "pedrobern",
"author_email": "pedrobermoreira@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/0a/72/14c745a62f72de1c540dadfb928ddabb81e8f0a650a3e806ba266b945fac/django-graphql-auth-django-4-0.3.17.tar.gz",
"platform": null,
"description": "Django GraphQL Auth\n===================\n\n|Pypi| |Build Status| |Codecov|\n\n\nGraphQL implementation of the `Django <https://github.com/django/django>`_\nauthentication system.\n\nIt abstract all the basic logic of handling user accounts out of your app,\nso you don't need to think about it and can **get up and running faster**.\n\nNo lock-in. When you are ready to implement your own code or this package\nis not up to your expectations , it's easy to extend or switch to\nyour implementation.\n\n\nDocumentation\n-------------\n\nDocumentation is available at `read the docs <https://django-graphql-auth.readthedocs.io/en/latest/>`_.\n\nFeatures\n--------\n\n* `Awesome docs <https://django-graphql-auth.readthedocs.io/en/latest/>`_\n* Fully compatible with `Relay <https://github.com/facebook/relay>`_\n* Works with default/custom user model\n* JWT authentication (with `Django GraphQL JWT <https://github.com/flavors/django-graphql-jwt>`_)\n* User query with filters (with `Django Filter <https://github.com/carltongibson/django-filter>`_ and `Graphene Django <https://github.com/graphql-python/graphene-django>`_)\n* User registration with email verification\n* Resend activation email\n* Add secondary email, with email verification too\n* Retrieve/Update user\n* Archive user\n* Permanently delete user or make it inactive\n* Turn archived user active again on login\n* Track user status (archived, verified, secondary email)\n* Password change\n* Password reset through email\n* Revoke user refresh tokens on account archive/delete/password change/reset\n* All mutations return ``success`` and ``errors``\n* Default email templates *(you will customize though)*\n* Customizable, no lock-in\n\n\nPreview\n-------\n\nHandling user accounts becomes super easy.\n\n.. code:: bash\n\n mutation {\n register(\n email: \"new_user@email.com\",\n username: \"new_user\",\n password1: \"123456super\",\n password2: \"123456super\",\n ) {\n success,\n errors,\n token,\n refreshToken\n }\n }\n\nCheck the status of the new user:\n\n.. code:: python\n\n u = UserModel.objects.last()\n u.status.verified\n # False\n\n\nDuring the registration, an email with a verification link was sent.\n\n.. code:: bash\n\n mutation {\n verifyAccount(\n token:\"<TOKEN ON EMAIL LINK>\",\n ) {\n success,\n errors\n }\n }\n\nNow user is verified.\n\n.. code:: python\n\n u.status.verified\n # True\n\n\nCheck the `installation guide <https://django-graphql-auth.readthedocs.io/en/latest/installation/>`_ or jump to the `quickstart <https://django-graphql-auth.readthedocs.io/en/latest/quickstart/>`_. Or if you prefer, browse the `api <https://django-graphql-auth.readthedocs.io/en/latest/api/>`_.\n\n.. |Pypi| image:: https://img.shields.io/pypi/v/django-graphql-auth.svg\n :target: https://pypi.org/project/django-graphql-auth/\n :alt: Pypi\n\n.. |Build Status| image:: https://travis-ci.com/pedrobern/django-graphql-auth.svg?branch=master\n :target: https://travis-ci.com/pedrobern/django-graphql-auth\n :alt: Build Status\n\n.. |Codecov| image:: https://img.shields.io/codecov/c/github/pedrobern/django-graphql-auth/master.svg?style=flat-square\n :target: https://codecov.io/gh/pedrobern/django-graphql-auth/\n :alt: Codecov\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Graphql and relay authentication with Graphene for Django.",
"version": "0.3.17",
"project_urls": {
"Documentation": "https://django-graphql-auth.readthedocs.io/en/latest/",
"Homepage": "https://github.com/PedroBern/django-graphql-auth",
"Issues": "https://github.com/PedroBern/django-graphql-auth/issues"
},
"split_keywords": [
"api",
"graphql",
"rest",
"relay",
"graphene",
"auth"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "0a7214c745a62f72de1c540dadfb928ddabb81e8f0a650a3e806ba266b945fac",
"md5": "bb092c6d1c623eca5b86fe17227aa660",
"sha256": "fdbe92814f3d526afdfaa1847369d7b83ebe152c37dad4d6cc5bd1f46c29f410"
},
"downloads": -1,
"filename": "django-graphql-auth-django-4-0.3.17.tar.gz",
"has_sig": false,
"md5_digest": "bb092c6d1c623eca5b86fe17227aa660",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 27461,
"upload_time": "2024-01-25T14:36:42",
"upload_time_iso_8601": "2024-01-25T14:36:42.934243Z",
"url": "https://files.pythonhosted.org/packages/0a/72/14c745a62f72de1c540dadfb928ddabb81e8f0a650a3e806ba266b945fac/django-graphql-auth-django-4-0.3.17.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-01-25 14:36:42",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "PedroBern",
"github_project": "django-graphql-auth",
"travis_ci": true,
"coveralls": true,
"github_actions": false,
"tox": true,
"lcname": "django-graphql-auth-django-4"
}