Recentemente ho letto molto sui meccanismi di autenticazione dell'API Web e sono un po 'confuso su come implementare il mio meccanismo di autenticazione dell'API Web, sto pensando di utilizzare l'autenticazione basata su token ma non sono sicuro se è la scelta giusta.
Fondamentalmente la mia API Web gestirà tutte le operazioni necessarie e memorizzerà gli utenti del mio sito web e anche gli utenti dell'API.
Voglio supportare il seguente
- L'utente può registrarsi sul mio sito Web e app utilizzando il proprio account G + o Facebook o un nome utente già creato dal mio servizio, così come accedere al proprio account social.
- Se l'utente non ha effettuato l'accesso, non sarà in grado di pubblicare gli articoli ma sarà in grado di vedere gli articoli, pensa qualcosa come Craiglist.
- Supponiamo che l'utente sia uno sviluppatore e che desideri pubblicare gli articoli tramite il software che hanno creato anziché passare attraverso il sito Web e pubblicare un articolo alla volta, come posso consentire questo?
Ora le mie domande sono:
-
Quando un utente si registra sul mio sito web, devo creare una (chiave pubblica / chiave segreta) per il successivo token di accesso, quindi posso usare la mia API dal sito web mentre l'utente controlla se ha accesso a determinati endpoint?
-
Devo assegnare una (chiave pubblica / chiave segreta) per il mio sito Web in modo da poter utilizzare l'API quando l'utente non ha effettuato l'accesso?
-
Come sopra per le app mobili
-
Come faccio a consentire agli utenti di (iscriversi / accedere) usando G + o Facebook ?, se accedono utilizzando qualsiasi social network come posso proteggere la mia API?