Skip to main content

A Django application for helping in facebook login an managing.

Project description

Objetivo: Crear una aplicación canvas.

Dos puntos de entrada de información de facebook.

1º a través de la página de inicio se pasa una variable por POST con nombre 'signed_request'. Esta variable se puede parsear a través de la función parse_signed_request(signed_request, app_secret). Tiene dos posibles contenidos en función de si el usuario ha dado permiso o no a la aplicación.

1.1 El usuario sí ha dado persmiso. Contiene por ejemplo:
'user_id': '100005466480745',
'algorithm': 'HMAC-SHA256',
'expires': 1365447600,
'oauth_token': 'AAADOARsZCbhkBAJUIlFV5F7267CgJrZAdkQgmV1dugLqrSkcNhAQ5mexlg9VZBmog3EePcO6hc6fUDupJqfKUJCZCh5xqbVPecrZAKfs22dHL1bHBNhs5',
'user': {
'locale': 'es_ES',
'country': 'es',
'age': {'min': 21}},
'issued_at': 1365441503
}

1.2 El usuario no ha dado persmiso. Contiene por ejemplo:

'issued_at': 1365441657,
'user': {
'locale': 'es_ES',
'country': 'es',
'age': {'min': 21}},
'algorithm': 'HMAC-SHA256'
}

La difrencia básica es el oauth_token que permite obtener o no los datos del cliente. Con esos datos se puede llamar al motor de autenticación con el backend que se ha creado y poder autenticar y posteriormente loguear a éste con las llamadas:

2º a través de un formulario de solicitud de permisos.

si se invoca la url (que también se puede generar a través del API) https://www.facebook.com/dialog/oauth?scope=PARAMS&redirect_uri=REDIRECT_URI&display=MODE&client_id=FACEBOOK_APP_ID&response_type=code se mostrará una pantalla a través de la cual el usuario dará permisos (o no) a la aplicación. Una vez hecho esto el formulario se redirigirá a la url REDIRECT_URI pasandole el parametro GET 'code'. Dicho code se puede transformar en una oauth_token con la función del API get_access_token_from_code(...)





Ejemplo de autenticación y login de usuario:


user = auth.authenticate(token='XXXXXXXXXXXXXXX')
if user is not None:
if user.is_active:
auth.login(request, user)
# Redirect to a success page.
else:
# Return a 'disabled account' error message
pass
else:
# Return an 'invalid login' error message.
pass

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
django_facebook_helper-0.3.7.tar.gz (11.2 kB) Copy SHA256 hash SHA256 Source None May 17, 2013

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page