uzu-accounts-app is a generic django application tailored to Single Page Applications that abstracts user authentication and verification from the rest of your project.
Project description
uzu-account-app
This is the official API documentation for the uzu-accounts-app Django Application.
uzu-accounts-app is a generic django application tailored to Single Page Applications that abstracts user authentication and verification from the rest of your project.
uzu-accounts-app will use the model set with AUTH_USER_MODEL
in settings.py of your django project or the default user model of django.contrib.auth
Installation
Download and install the package from PyPi:
pip install uzu-accounts-app
Add AccountsApp.urls
to your project's URLConf
urlpatterns = [ ... path("accounts/", include("AccountsApp.urls")) ]
Add the AccountsApp to your INSTALLED_APPS
:
INSTALLED_APPS = [ ... "AccountsApp.apps.AccountsappConfig" ]
Setup the ACCOUNTS_APP
settings variable in settings.py
ACCOUNTS_APP = { "base_url": "", # Base url pattern for the AccountsApp urls "redirect_link": "", # Link redirected to after link verification "code_length": 3, # specifies the length of the verification code "sign_in_after_verification": False # Specify if to sign in after verification is successful }
Then apply migrations
python manage.py migrate
API
The app communicates with the client-side using basic api calls.
API responses have the following basic format:
{ status: Boolean, // status of the API call data: Object, // payload error: String // error string in case an error occurs (status == False) }
API List
NB: The illustrations below assume that the app's urls were mapped to the accounts/
path.
1. sign-in
axios.post("/accounts/sign-in/", { ...accountFields, keep_signed_in: true // keeps the user signed in (optional) })
2. sign-up
axios.post("/accounts/sign-up/", { ...accountFields, keep_signed_in: true // keeps the user signed in (optional) })
3. sign-out
axios.get("/accounts/sign-out/")
4. authenticate
axios.post("/accounts/authenticate/", { password: "" })
5. reset-password
axios.post("/accounts/reset-password/", { username: "", // field value used for authentication as set by user_model.USERNAME_FIELD code: "", // verification code. This comes from send-verification-code new_password: "", })
6. change-password
axios.post("/accounts/change-password/", { new_password: "", old_password: "" })
7. send-verification-code
axios.post("/accounts/send-verification-code/", { username: "", // optional username (will use request.user.username if a user is signed in when this field is not specified. Fails otherwise) mode: "", // (send || resend) optional mode (will use 'resend' by default, if set to 'send', the verification code is updated before sending) })
8. send-verification-link
axios.post("/accounts/send-verification-link/", { username: "", // optional username (will use request.user.username if a user is signed in when this field is not specified. Fails otherwise) mode: "", // (send || resend) optional mode (will use 'resend' by default, if set to 'send', the verification code is updated before sending) })
9. verify-code
axios.post("/accounts/verify-code/", { username: "", code: "", })
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.