Django app for developing vk.com (aka vkontakte.ru) iframe applications
Project description
Django app for developing vk.com (aka vkontakte.ru largest, Russian social network) iframe applications.
Handles user authentication and registration.
Installation
$ pip install django-vkontakte-iframe
Requirements
django-annoying for AutoOneToOneField
Optional:
vkontakte >= 0.9.4.1 for populating cities and countries info via admin action
Usage
Register and configure vkontakte iframe application here: http://vkontakte.ru/apps.php?act=add
Add your app’s settings to settings.py:
VK_APP_ID = '1234567' # Application ID VK_APP_KEY = 'M1gytuHwni' # Application key VK_APP_SECRET = 'MiRFwrDYwcYFCTD18EcY' # Secure key
Add ‘vk_iframe’ to INSTALLED_APPS
Add ‘vk_iframe.backends.VkontakteUserBackend’ to AUTHENTICATION_BACKENDS:
AUTHENTICATION_BACKENDS = ( 'django.contrib.auth.backends.ModelBackend', 'vk_iframe.backends.VkontakteUserBackend', )
Put ‘vk_iframe.middleware.AuthenticationMiddleware’ and ‘vk_iframe.middleware.LoginRequiredMiddleware’ to MIDDLEWARE_CLASSES:
MIDDLEWARE_CLASSES = [ # ... 'django.contrib.auth.middleware.AuthenticationMiddleware', # ... 'vk_iframe.middleware.AuthenticationMiddleware', # ... 'django.middleware.locale.LocaleMiddleware', # ... 'vk_iframe.middleware.LoginRequiredMiddleware', ]
Please note that ‘vk_iframe.middleware.AuthenticationMiddleware’ must be after ‘django.contrib.auth.middleware.AuthenticationMiddleware’ but before ‘django.middleware.locale.LocaleMiddleware’.
‘vk_iframe.middleware.LoginRequiredMiddleware’ must be after ‘vk_iframe.middleware.AuthenticationMiddleware’.
Vkontakte visitors will be automatically registered and authorized as django users (username == vkontakte user id).
LoginRequiredMiddleware is an optional. It returns 403 for all unauthorized requests with urls not listed in settings.PUBLIC_URLS. You should enable it for security reasons. Example of PUBLIC_URLS:
PUBLIC_URLS = [ '^admin/$', '^my-callback/', ]
If i18n is in use then vkontakte user’s language will be used as django’s user language.
Run python ./manage.py syncdb (or python ./manage.py migrate vk_iframe if South is used)
Optional: load initial geo data (cities and countries):
python manage loaddata vk-geo
If you want to store more user data then put the following line as the ‘First API request’ (‘Первый запрос к API’) option (in your app edit page at vkontakte.ru):
method=getProfiles&uids={viewer_id}&format=json&v=3.0&fields=uid,first_name,last_name,nickname,domain,sex,bdate,city,country,timezone,photo,photo_medium,photo_big,has_mobile,rate,contacts,education
That’s all. All your app’s visitors are now registered and authenticated django users. Additional profile data is available as user.vk_profile.
CHANGES
0.2
Vkontakte user language is integrated with django i18n. Thanks Vasyl Nakvasiuk.
Error with InnoDB fixture loading is fixed.
0.1.1
Bugfix: login was not allowed if user language was unknown. Full vkontakte language list. Thanks Vasyl Nakvasiuk.
0.1
The first release
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
File details
Details for the file django-vkontakte-iframe-0.2.tar.gz
.
File metadata
- Download URL: django-vkontakte-iframe-0.2.tar.gz
- Upload date:
- Size: 32.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7cd8b267369452e78e9a77b07743cfcfe064afbf76a1008a75df9369151742f6 |
|
MD5 | 4220467db3e3f3d5d144ae0abc2e6626 |
|
BLAKE2b-256 | 35ee850707e63773547d46a37ebd17dbfc49ccb76d177e9bd55eb86d237ce644 |