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/connectfacebook/facebook/connect/google/google/connect/apple/apple/connect/
Provider configuration
idPK number - database identitynametextprovider_projecttextclient_idtextclient_secrettextclient_secret_sourceenum(PLAIN, ENVIRONMENT)callback_urltextenabledboolnotestext
Group scopes
idPK number - database identitygroup_idFK numbernametextscopesjson
- Login
- Logout
- Token verify
- OTP email / phone
- Apple
- OTP