Graphql authentication system with Strawberry for Django.
Project description
Strawberry-django Auth
Django registration and authentication with Strawberry.
Demo
About
This Library was inspired by Django-graphql-auth.
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 you 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.
Docs can be found here
Features
- Awesome docs!
- Captcha validation (with extra
strawberry-django-auth[captcha]
) - Async/Sync supported!
- Works with default or custom user model
- Builtin JWT authentication using PyJWT
- User registration with email verification
- Retrieve/Update user
- Archive user
- Permanently delete user or make it inactive
- Turn archived user active again on login
- Track user status (archived, verified)
- Password change
- Password reset through email
- Revoke user tokens on account archive/delete/password change/reset
- All mutations return
success
anderrors
- Default email templates (you will customize though)
- Customizable, no lock-in
- Passwordless registration
Full schema features
@strawberry.type
class Mutation:
verify_token = mutations.VerifyToken.field
update_account = mutations.UpdateAccount.field
archive_account = mutations.ArchiveAccount.field
delete_account = mutations.DeleteAccount.field
password_change = mutations.PasswordChange.field
swap_emails = mutations.SwapEmails.field
# these are mutation that does not require authentication.
captcha = Captcha.field
token_auth = mutations.ObtainJSONWebToken.field
register = mutations.Register.field
verify_account = mutations.VerifyAccount.field
resend_activation_email = mutations.ResendActivationEmail.field
send_password_reset_email = mutations.SendPasswordResetEmail.field
password_reset = mutations.PasswordReset.field
password_set = mutations.PasswordSet.field
refresh_token = mutations.RefreshToken.field
revoke_token = mutations.RevokeToken.field
verify_secondary_email = mutations.VerifySecondaryEmail.field
schema = strawberry.Schema(query=Query, mutation=Mutation)
Contributing
See CONTRIBUTING.md
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file strawberry_django_auth-0.377.0.tar.gz
.
File metadata
- Download URL: strawberry_django_auth-0.377.0.tar.gz
- Upload date:
- Size: 469.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.3 CPython/3.11.9 Linux/6.5.0-1023-azure
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3d3a01559aac2e04c7836907958d5212270676962a1a5d1a7cd42f40abc2f7f3 |
|
MD5 | 8e35b22c0e131f977010a57789fd4f0b |
|
BLAKE2b-256 | 38e9fc4979a38c8f42ff74169584df199f02f19ff30127b99ee77fdcf7ae8a1e |
File details
Details for the file strawberry_django_auth-0.377.0-py3-none-any.whl
.
File metadata
- Download URL: strawberry_django_auth-0.377.0-py3-none-any.whl
- Upload date:
- Size: 477.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.3 CPython/3.11.9 Linux/6.5.0-1023-azure
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 185cdf4dde1430d53fc67dc2ce6b9839ea799bd8e24cfc0108a138f6d7775b6e |
|
MD5 | 249954f666177d7b4a9999acb8a293fa |
|
BLAKE2b-256 | bfc2f48ec90f6ba03f154fdd90d4f211c565abec5af876af6a7a452e3efab4fb |