/ / Come proteggere l'accesso al server di rails che fornisce l'accesso all'API REST: ruby-on-rails, security, rest, idea

Come proteggere l'accesso al server Rails che fornisce accesso API REST - ruby-on-rails, sicurezza, riposo, idea

Come proteggere l'accesso al server di rotaie chefornisce l'accesso all'API REST. Usiamo Devise per l'autenticazione. La nostra app Rails parla con un altro server Rails (app di servizio) e vorremmo che l'utente effettuasse l'autenticazione prima di accedere all'app di servizio. Dovrei farlo tramite il token di autenticazione del dispositivo. Raccomanda gentilmente? Cosa dovrebbe essere fatto a livello di servizio

https://github.com/plataformatec/devise
https://github.com/lynndylanhurley/devise_token_auth

risposte:

0 per risposta № 1

Bene, dipende dalla tua architettura dell'app. È possibile utilizzare devise per autenticare gli utenti all'API REST. Ma se l'app di servizio è solo per uso interno, ad esempio fornisce dati solo per un'altra app, è possibile limitare l'accesso tramite ip o autenticazione HTTP di base.

La mia opinione è che l'idea è valida solo per l'autorizzazione degli utenti finali, ma non per i servizi.


0 per risposta № 2

A mio avviso, questa domanda è altamente basata sull'opinione così com'è in questo momento.

Qual è lo scopo dell'App del servizio? L'app Rails si consuma frequentemente dall'app del servizio? O viceversa? È solo per scopi di registrazione, come statistiche o risorse tag-like o dati critici come le credenziali?

Dalla mia regola generale, se un vero utente finaleha bisogno di accedervi per modificare una risorsa (POST, PUT, DELETE). Vado per l'autenticazione basata su token. Se ha solo bisogno di leggere, potrei semplicemente andare con solo Basic o nessuno, a seconda del contesto.

Ad ogni modo, considererei due volte se Devise èlo strumento preciso per il tuo scenario. Più di poche volte mi sono ritrovato a scrivere di più per modificare effettivamente Devise di quanto sarebbe necessario se implementassi il mio sistema di autenticazione. Non è così difficile e impari molto!