Domanda

sto sviluppando un piccolo CMS in PHP e stiamo mettendo in materia di integrazione sociale.

Il contenuto viene modificato da un singolo amministratore che come un diritto per la pubblicazione di notizie, eventi e così via ...

mi piacerebbe aggiungere questa funzione, quando l'amministratore pubblica qualcosa che è già pubblicato sulla bacheca Facebook. Io non sono molto familiare con facebook php SDK, e io sono un po 'confuso su di esso.

Se (ne fanno un esempio) 10 siti diversi stanno utilizzando il mio CMS, devo creare 10 diverse applicazioni facebook? (Supponiamo che i 10 siti sono tutti in diversi domini e server)

2 °, c'è un modo per l'autenticazione con il solo PHP (qualcosa come l'invio di nome utente e la password direttamente) in modo che l'utente non ha bisogno di essere registrati su facebook?

grazie

È stato utile?

Soluzione

Si prega di leggere su http://developers.facebook.com/docs/ .

La sua spiegato molto semplice e dritto in avanti e bene.

La tua domanda è così vago e vasto che non può essere risolta bene qui.

Se si verificano problemi di attuazione specifica, questo è il posto giusto.

Comunque per rispondere atleast una parte della tua domanda:

Il più potente strumento quando si lavora con le applicazioni di Facebook è l'API grafico.

Il suo principio è molto semplice. Si può fare almonst qualsiasi azione per conto di qualsiasi utente o applicazione. È necessario generare un token prima che identifica l'utente e le autorizzazioni appropriate. Quelle pedine possono essere resi "permanenti" in modo da poter fare le operazioni in background. Di solito sono attivi solo un tempo molto breve in modo da poter eseguire azioni durante l'interazione con l'utente. Il processo di gettoni che generano coinvolge l'utente in modo che lui / lei deve confermare i privilegi si sta chiedendo.

Per i siti web che pubblicano qualcosa automaticamente si sarebbe probabilmente generare una volta un gettone permanente che è attiva fino a quando si rimuove l'applicazione nelle impostazioni sulla privacy.

In sostanza yuo può lavorare con qualsiasi applicazione su qualsiasi sito web. Non v'è alcuna limitazione. Tuttavia ci sono due modi di generare token. Uno riguarda su una richiesta aggiuntiva e uno è lato client a farsi, che è destinato a un dominio Oyu specifiedin le impostazioni applicazioni.

Addendum:

@ArtoAle

hai ragione su tutte le app beeing assighend esattamente ad un dominio. tuttavia, una volta ottenuta una pedina valida Non importa da dove o chi lo si utilizza all'interno della api grafico.

lasciatemi expalin questo un po ':

non avrebbe alcun senso dal momento che è stai facendo la richiesta. non esiste una cosa come "in cui la richiesta è venuta da". naturalmente ci sono le informazioni di intestazione "referer", ma può essere liberamente specificata e non viene utilizzato in qualsiasi contesto di questo.

il dominio immesso nelle impostazioni applicazioni limita solo laddove facebook reindirizza l'utente a.

perché?

In questo modo, un po 'cattivo ragazzo non può istituire un sito web su qualsiasi dominio e consentire all'utente di autorizzare un app e ottenere un token di accesso con l'applicazione.

Questa impostazione assicura in modo che l'utente e il token di accesso vengono reindirizzati al tuo sito e non a un altro sito male.

, ma c'è un'alternativa. se si utilizza il flusso di controllo per applicazioni desktop non si ottiene un token di accesso a destra dopo che l'utente è stato reindirizzato indietro. si ottiene un temporaneo SESSION-token che si può EXCCHANGE per un token di accesso. questo scambio viene fatto lato server tramite l'API REST e richiede il tuo segreto applicazione. Quindi a questo punto si garantisce che è lei che ottiene il token.

Questo metodo può essere fatto su qualsiasi dominio o in caso di applicazioni desktop su nessun dominio a tutti.

Questa è una citazione dalla documentazione Faceboo:

Per convertire le sessioni, inviare un POST richiesta di https://graph.facebook.com/oauth/exchange_sessions con un elenco separato da virgole sessioni che si desidera convertire:

ricciolo client_id = your_app_id \ -F client_secret = your_app_secret \ sessioni -F = __ 2.DbavCpzL6Yc_XGEI0Ip9GA. 3600.1271649600-12345,2.aBdC ... \ https://graph.facebook.com/oauth/exchange_sessions La risposta dalla richiesta è un JSON array di accesso OAuth gettoni in lo stesso ordine delle sessioni dato:

[{ "token di accesso": "...", "Scade": 1271649600,}, ...]

Tuttavia non è necessario questo metodo perché è un po 'più complessa. Per il vostro caso d'uso Io suggerirei di usare un punto centrale di autorizzazione.

Quindi, si dovrebbe specificare la vostraUn dominio come un URL di reindirizzamento. Questo dominio è quello condivisa tra i vostri siti web. Ci si può ottenere l'accesso completamente gettone valido e senza reindirizzare l'utente torna al tuo sito web specifico progetto e passare lungo il token di accesso.

In questo modo è possibile utilizzare il tradizionale flusso di autenticazione semplice che è probabilmente anche la prova più futuro.

Il fatto rimane. Una volta che il token di accesso viene generata è possibile eseguire qualsiasi azione di qualsiasi dominio, non v'è alcuna differenza come ther è letteralmente "dominio" in cui la richiesta è venuta da (vedi sopra).

A parte questo, se si vuole qualche bel javascript presenta al lavoro - come i commenti scatola o pulsante mi piace, è necessario impostare su tag grafico aperti correttamente.

se avete qualche problema di attuazione o come hai detto "errori di dominio" Descrivi più chiaramente, comprendere i passi che hai fatto e, se possibile, un messaggio di errore.

Altri suggerimenti

Si potrebbe desiderare di rompere la tua domanda per unità più piccole comprensibili. E 'molto difficile capire cosa si sta guidando a.

La mia comprensione del problema potrebbe essere minima, ma qui va ...

1_ No, non creano 10 diverse applicazioni facebook. Creare una singola applicazione facebook e ne fanno un punto di ingresso di servizio. In modo che tutti i vostri siti CMS potessero parlare a questo sito di interagire con facebook. (A RIPOSO livello di servizio).

2_ Facebook api non supporta il nome utente e la password di autenticazione. Essi supportano solo OAuth2.0. Anche se Oauth non è banale, ma dal momento che hanno fornito libreria per questo, implementare l'autenticazione è piuttosto banale.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top