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
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Close
Hashes for django_facebook_helper-0.2.8.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 605132035a965a3470ab949f5e17a63e461ec21b73f80c3a2bc64eaaecd5ee1f |
|
MD5 | 0c74e8ac7d37e73e91eb0c94b40ea550 |
|
BLAKE2b-256 | d8825fe6964db361c58a6a7b23a298df4c63de06b14d5ad3d792bb7ab15eb1ad |