http - application - try facebook api



Come dovrebbe un cliente passare un token di accesso di Facebook al server? (1)

Se si guardano gli endpoint API forniti da tutti i provider OAuth più diffusi (Google, Facebook, Pocket, Git, ecc.), Si vedrà che tutti hanno endpoint HTTPS.

I modi in cui è possibile passare un token di accesso al provider sono:

i) Come parametro di query -

https://yourwebsite.com/api/endpoint?access_token=YOUR_ACCESS_TOKEN

ii) Nell'intestazione della richiesta -

 GET /api/users/123/profile HTTP/1.1
 Host: yourwebsite.com
 Date: Tue, 14 May 2013 12:00:00 GMT
 Authorization: <YOUR_ACCESS_TOKEN>

Questi due sono approcci generalmente supportati dalla maggior parte delle API. Puoi pensare di fare lo stesso.

iii) Pocket API non utilizza affatto GET. Usano il POST per tutte le loro richieste, anche per il recupero dei dati. Controlla questo link per vedere la loro documentazione. Si noti che usano POST per recuperare i dati e passare i parametri JSON.

In ogni chiamata alla mia API REST, richiedo ai clienti di passare il token di accesso Facebook dell'utente, che autentica l'utente. Qual è la procedura migliore per passare questo token?

  1. forse come parametro dietro il punto interrogativo HTTP

    GET /api/users/123/profile?access_token=pq8pgHWX95bLZCML
    
  2. o in qualche modo nell'intestazione della richiesta, in modo simile all'autenticazione di base HTTP

  3. forse una terza opzione? (Ho escluso di passarlo in un JSON perché voglio che il token venga passato anche nelle chiamate GET , quindi JSON non andrebbe bene lì, credo)




facebook-access-token