Utilizzo di Simple JWT per Public Fa API Auth

2

Sto guardando i metodi di sicurezza per le API. Utilizzando i token di accesso JWT dopo l'accesso del client con l'utente / password, funzionerà bene per le app Web interne utilizzando le nostre API. Tuttavia, sto valutando come proteggere le nostre API esterne che altri sistemi / client potrebbero utilizzare per consumare dati.

Di solito vedo servizi API che forniscono un client_id e un client_secret. Questo, tuttavia, finisce per essere utilizzato in OAuth2 che preferirei non dover implementare poiché non sono sicuro di un'implementazione sicura e di successo di una specifica così grande e non voglio nemmeno dipendere da auth0.

Penso che se si usasse il JWT semplice per le API esterne utilizzate dalle applicazioni, dovrei avere un tipo di identità diverso da utente / password. Come un ID e una chiave sicura. Cosa sarebbe meglio?

    
posta Edward 19.05.2017 - 04:19
fonte

1 risposta

1

Sì, un token semplice è sufficiente per consumare in modo sicuro un'API pubblica.

Struttura di questo token:

  • una parte unica o deve essere unica (questo sarà l'id)
  • una parte a caso

Solo la persona che ha il token può accedere all'API. Su ogni richiesta all'API, si invia il token con esso. La tua API convalida il token e restituisce i dati se è valido.

Ma la domanda complicata è come si ottiene questo token?

Avrai bisogno di una pagina di autenticazione da qualche parte. Dopo che l'utente è stato autenticato puoi fargli creare / scaricare un token API. Può quindi dare questo token a chiunque o ad altre applicazioni che desidera e saranno in grado di accedere ai suoi dati.

OAuth2 automatizza principalmente il processo di acquisizione di questo token in modo che l'utente non debba eseguire passaggi manuali come copia e incolla per condividere il token.

Nota

Un gioco che ho giocato in passato utilizzava questo schema per la sua API pubblica: Guild Wars 2. Quando accedevi al loro account sul sito web, un utente poteva creare e copiare il suo token, quindi darlo ad altre applicazioni che avrebbero analizzato le loro informazioni sull'account.

    
risposta data 19.05.2017 - 23:32
fonte

Leggi altre domande sui tag