L'App1 tramite l'API REST crea qualcosa che solo gli amministratori in App2 possono fare

0

Diciamo che ho due applicazioni web indipendenti l'una dall'altra.

App1 è scritto in Python e
App2 è scritto in Java.

Dopo che la logica è stata eseguita in App1 da un utente normale, App1 deve creare un dominio che può essere eseguito solo da admin in App2.

curl -H "Content-Type: application/json" \
     -H "Token: admintokenblabla" \
     -X POST \
     -d '{"realm":"myrealm"}' http://localhost/app2/realm/create

Posso creare regni tramite l'API REST, a condizione di presentare il token di amministrazione corretto. Il token viene creato dopo un accesso riuscito in App2 (ovvero ho bisogno di conoscere il nome utente e la password)

In che modo App1 può attivare la creazione di aree di autenticazione in App2 senza alcun token di amministrazione? Ho bisogno di hardcode la password di admin in App1 e solo HTTP lo richiede? (sembra una soluzione pessima) Qual è la soluzione standard del settore per questo?

    
posta momokjaaaaa 02.09.2016 - 16:52
fonte

1 risposta

1

È vero, salvare le password nella tua app è una cattiva idea. Solitamente risolvo questo problema non usando le password. Io uso https per il mio riposo.

È possibile eseguire l'autenticazione di base e inviare credenziali su ogni richiesta oppure impostare un token di autenticazione effimero per rendere più leggere le richieste successive. Questo non è un "token amministratore". È un modo temporaneo per dire velocemente "hey, sono di nuovo io". Dopo un ragionevole lasso di tempo, scade e devi inviare nuovamente le credenziali per ottenere un nuovo token di autenticazione.

Ti consiglio di dare un'occhiata a questa domanda simile di overflow dello stack:
ristoratore-web-service-how-to-authenticate-richieste-da-altri-servizi

    
risposta data 02.09.2016 - 17:45
fonte

Leggi altre domande sui tag