Abbiamo un sito web in cui l' unico modo per accedere e autenticarti con il sito è con Facebook (questa non è stata una mia scelta). La prima volta che accedi con Facebook, viene creato automaticamente un account per te.
Ora vogliamo creare un'applicazione per iPhone per il nostro sito e anche un'API pubblica per consentire ad altri di utilizzare il nostro servizio.
Questa domanda riguarda come autenticarsi con il nostro sito Web dall'app / API ed è suddivisa in 2 parti:
Qual è il modo corretto per gestire l'autenticazione REST da un'API a un sito Web che utilizza solo Facebook OAuth come metodo di autenticazione?
Ho letto e studiato molto sui metodi standard di autenticazione per l'API REST. Non possiamo utilizzare metodi come l' autenticazione di base su HTTPS , poiché non ci sono credenziali per un utente in quanto tale. Qualcosa di simile a questo sembra essere solo per autenticare le applicazioni utilizzando l'API.
Attualmente, il modo migliore che posso pensare è che tu raggiunga un end-point / autorizzi sulla nostra API, reindirizza a Facebook OAuth, quindi reindirizza di nuovo al sito e fornisce un "token" che l'utente dell'API può utilizzare per l'autenticazione successiva richieste.
Per un'applicazione ufficiale che creiamo, non avremmo necessariamente bisogno di utilizzare l'API pubblica allo stesso modo. Quale sarebbe quindi il modo migliore per parlare al nostro sito Web e autenticare gli utenti?
Capisco (penso) come autenticare applicazioni di terze parti che utilizzano la nostra API, utilizzando chiavi API (pubbliche) e chiavi segrete (private). Tuttavia, quando si tratta di autenticare l'utente che sta utilizzando l'app, sono piuttosto confuso su come procedere quando l'unico modo che abbiamo per autenticare un utente è Facebook.
Mi sento come se mi mancasse qualcosa di molto ovvio o non comprendessi appieno come dovrebbero funzionare le API REST pubbliche, quindi qualsiasi consiglio e aiuto sarebbe molto apprezzato.