Opinionated Django REST auth endpoints for JWT authentication and social accounts.
Djangoflow REST authentication (dfauth for short) is a Django module, aiming to provide seamless authentication and authorization, integrating with popular identity providers (e.g. Google, Facebook, Apple etc.) as well as using built-in methods like OTP and QRCodes.
-
Opinionated: Create a set of strict guidelines to be followed by the users and developers. Well defined and consistent guidelines reduces errors and unwanted side-effects. Framework should be easy to understand, implement and maintain.
-
Secure: Follow the industry best practices secure software development; communications; storage as well as long term maintenance. Always evaluate the risk and trade-offs in appropriate contexts.
-
Clean code: Strictly follow DRY principle; write your code for other developers to understand; document and keep documentation updated; automate testing your code, packaging, deployments and other processes; discuss your ideas before implementing unless you are absolutely sure; be a good craftsmen.
-
Open: Offer source code and related artifacts under open source licenses. Build and manage a collaborative community where everyone is welcome.
-
Configurable: Provide ways to change behavior, appearance and offer extension points everywhere possible.
-
Reuse: Do not reinvent the wheel. Use existing high-quality modules as much as possible.
login/
logout/
token/verify/
token/refresh/
email/otp/request/
email/otp/
phone/otp/request/
phone/otp/
phone/otp/connect
facebook/
facebook/connect/
google/
google/connect/
apple/
apple/connect/
Provider configuration
id
PK number - database identityname
textprovider_project
textclient_id
textclient_secret
textclient_secret_source
enum(PLAIN, ENVIRONMENT)callback_url
textenabled
boolnotes
text
Group scopes
id
PK number - database identitygroup_id
FK numbername
textscopes
json
- Login
- Logout
- Token verify
- OTP email / phone
- Apple
- OTP