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.

Source Distribution

django_facebook_helper-0.3.7.tar.gz (11.2 kB view details)

Uploaded Source

File details

Details for the file django_facebook_helper-0.3.7.tar.gz.

File metadata

File hashes

Hashes for django_facebook_helper-0.3.7.tar.gz
Algorithm Hash digest
SHA256 b704f7c482e9c2c1c648a4a220c2bbca5f11d3c05def23ef3fa811ac0d43e617
MD5 5330a1ecb8fd19cd41fa238f41e28742
BLAKE2b-256 43b8162215093a9ac0f1842133dc02b68fa7ba58ad3f88e90496ed2790a3f28f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page