Sto costruendo un'applicazione canvas Facebook che carica in un iframe con Django. Vorrei che il processo di login funzionasse in modo simile a come lo fa Zynga. In questo metodo, se non si è connessi, si viene reindirizzati a una pagina di accesso di Facebook e quindi a una pagina di richiesta delle autorizzazioni per l'app (senza popup).Autenticazione nell'app Facebook Canvas utilizzando l'API New Graph
Per quanto posso dire Zynga deve utilizzare FBML e solo inoltro a URL che sembrano:
http://www.facebook.com/login.php?api_key=[api_key]&canvas=1&fbconnect=0&next=[return_url]
Esiste un modo per ottenere un effetto simile in un'applicazione python che carica in un iframe?
C'è un metodo here che mostra come ottenere i reindirizzamenti corrette utilizzando il nuovo SDK php, ma sto cercando di utilizzare il nuovo SDK pitone che ha solo il metodo:
def get_user_from_cookie(cookies, app_id, app_secret):
"""
Parses the cookie set by the official Facebook JavaScript SDK.
cookies should be a dictionary-like object mapping cookie names to
cookie values.
...
"""
ho un po 'di lavoro codice che utilizza il Javascript SDK e il metodo get_user_from_cookie:
<div id="fb-root">
<script src="http://connect.facebook.net/en_US/all.js"></script>
</div>
<script type="text/javascript">
FB.init({ apiKey: 'apikey', status: true, cookie: true, xfbml: true});
FB.Event.subscribe('auth.login', function(response) {
// Reload the application in the logged-in state
window.top.location = 'http://apps.facebook.com/myapp/';
});
</script>
<fb:login-button>Install MyApp</fb:login-button>
il problema di questo metodo è che richiede all'utente di fare clic su un pulsante per effettuare il login e poi lavorare attraverso le schermate di autenticazione a comparsa. (Nota: un popup si verifica anche se chiamo FB.login direttamente)
Quindi ... c'è un modo per utilizzare l'SDK javascript per reindirizzare la pagina di accesso anziché caricarla come popup?
Grazie per qualsiasi aiuto! --Eric
È possibile reindirizzarli alla pagina di autorizzazione utilizzando top.location in javascript – BeRecursive
@BeRecursive: Sì. Questo è esattamente quello che sto dicendo. –
Perché reindirizzare a una pagina che ha quel codice quando si codifica è sufficiente iniettarlo nella pagina? – BeRecursive