Facebook accountkit support for Django
Project description
django-accountkit
Using Facebook accountkit with Django https://developers.facebook.com/products/account-creation
Overview
This package enables the use of Facebook Accountkit with Django authentication
If you want to know more about Facebook Accountkit, check out the following resources
- https://auth0.com/blog/facebook-account-kit-passwordless-authentication/
- https://developers.facebook.com/docs/accountkit
Requirements
- Python (>= 2.7 and <= 3.7)
- Django (>=1.11)
Installation
Installation is easy using pip
pip install django-accountkit
Then to add Django Accountkit to your project add the app accountkitlogin
to your INSTALLED_APPS
.
Now add the following settings in your settings.py file
APP_ID = <Accountkit App ID>
ACCOUNT_KIT_APP_SECRET = <Accountkit App Secret>
ACCOUNT_KIT_VERSION = "v1.0"
ACCOUNT_KIT_SUCCESS_REDIRECT = <The URL for the page where user will land after authenticating> (Please Use absolute path only)
#Example ACCOUNT_KIT_SUCCESS_REDIRECT = "http://localhost:8000/success"
Then add the following in your settings.py file
AUTHENTICATION_BACKENDS = (
'accountkitlogin.authenticate.GetOrCreateUser',
)
Using Accountkitlogin
View
To use Accountkit to authenticate your users import from accountkitlogin.views import login_status
Then in your view use login_status
@csrf_exempt
def success_page(request):
context = login_status(request)
Note that csrf exempt is required because Facebook Accountkit will redirect the user to your success page url and this might throw a cross origin error
The login_status
function accepts the request as parameter and returns a dictionary with
- Key 'authenticated' True or False
- Key 'message' A message related to whether the user is authenticated or not
- Key 'user' Returns a user instance when 'authenticated' is True
Add the view to your urls.py file for the success_page url which you defined in ACCOUNT_KIT_SUCCESS_REDIRECT
setting
Template Tags
Add {% load accountkit %}
at the starting of your template and add the following template tags to your file where you want to display the login buttons
- Add
(% accountkitjs %}
inside your<head></head>
tag - Add
{% accountkitform %}
inside your<body></body>
tag - Add
{% smslogin %}
and/or{% emaillogin %}
anywhere in you body section where you want to display your login buttons. Both these tags accept two parameters className and text where you can add your custom css classes and the text to display on the button. Example{% emaillogin "button" "Use the email" %}
Notes
Contribute
Please contribute to this repositiory :)
Author
- Follow the author on Linkedin
This is project is inspired by
- The flask implementation of accountkit at https://github.com/everping/accountkit
Project details
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 django-accountkit-0.2.3.tar.gz
.
File metadata
- Download URL: django-accountkit-0.2.3.tar.gz
- Upload date:
- Size: 5.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.7.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 665727291c8525fff0de935e264dd05a46c782bf3eb247342cc6e54a87533a57 |
|
MD5 | 077b643edc99114e9c85f957b749ebb8 |
|
BLAKE2b-256 | 36ed8f4be437a43fab1f1587080f099d4bb5125a5dd0c5afb91725f66fe32302 |
File details
Details for the file django_accountkit-0.2.3-py3-none-any.whl
.
File metadata
- Download URL: django_accountkit-0.2.3-py3-none-any.whl
- Upload date:
- Size: 7.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.7.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e75f99b62a4dce7a58599b3a415596f5201afa3c07ccf80fd5dff582d0a0c240 |
|
MD5 | aa32bc34f5881515cc65117d64736dc0 |
|
BLAKE2b-256 | e986f39e2570ec6e5a86c1d6d23f7f961c4d2c1dcb2e1a139f0072759501b765 |