La connessione a Facebook è praticamente aperta e si collega a poche modifiche. Quindi, per capire il modello di sicurezza, può essere utile capire come funziona oauth. Ci sono molte risorse su quello disponibile in rete.
La tua domanda non è abbastanza specifica da darti una risposta specifica. Immagino che tu stia progettando un'applicazione server progettata per essere utilizzata nei browser (agenti utente) e che non ti preoccupi realmente di quale applicazione ha fatto la richiesta di accesso originale per autenticare l'utente, ma piuttosto che vuoi evitare un scenario in cui un utente che non è autorizzato a utilizzare l'applicazione server può utilizzarlo perché si è autenticato con successo su Facebook in precedenza, direttamente su fb o utilizzando un'altra app che utilizza la connessione Facebook.
I commenti alla tua domanda originale forniscono già risposte a questa domanda:
Quando si riceve un token di accesso da fb connect, è necessario verificarlo. C'è un endpoint fornito da Facebook per farlo, quindi l'applicazione server deve inviare una richiesta di verifica a tale endpoint. Se non lo verifichi, proprio come temi, potresti finire con un token di accesso che non era pensato per la tua app, o per un altro utente, o era scaduto. Se lo verifichi, riceverai una risposta JSON dall'endpoint di verifica che contiene un ID utente e un ID app. Puoi confrontare l'ID app con il tuo ID app per vedere se il token è pensato per la tua applicazione. Un utente malintenzionato non dovrebbe essere in grado di produrre un token con il tuo ID app (in parte perché l'ID app non dovrebbe essere noto a nessuno tranne a FB e te). Ma io il motivo principale per cui nessuno può agire come se fossero la tua app è perché devi fornire l'app segreta come parte del processo di verifica. Solo tu e FB conoscete quel segreto. Quindi FB può fallire la verifica se l'app segreta e l'ID app nel token non appartengono alla stessa app (c'è in realtà un altro passo in avanti prima della verifica - è necessario prima ottenere un token di accesso all'app, per poterlo utilizzare con la verifica endpoint e per ottenere il token dell'app, è necessario fornire l'ID dell'app e il segreto).
Dalla risposta di verifica, puoi anche vedere se l'ID utente è quello che ti aspetti che sia. Uno ha verificato il token, è autenticato e puoi fidarti di ciò che dice su chi e per quale applicazione è il token. Finché non verifichi i token, sono solo affermazioni che chiunque potrebbe fare.