Sto sviluppando un'API REST OAUTH 2 per un sito Web su cui sto lavorando. Abbiamo un'app mobile nativa ufficiale che utilizza questa API e sta pianificando di rendere l'API aperta agli sviluppatori di terze parti. La nostra app mobile nativa avrà più autorizzazioni rispetto alle app di terze parti. Lo sto facendo impostando le autorizzazioni in base all'id client o all'ID app. Sto usando password
grant type
per l'app ufficiale e implicit
grant type
per le app di terze parti.Come autenticare un'app attendibile utilizzando OAUTH 2
Ma il problema è che come noi non stiamo usando un client_secret
in entrambi i casi una terza parte può essere in grado di ottenere autorizzazioni elevate da qualche modo rubare il nostro ufficiale client_id
e usarlo per ottenere l'accesso alle autorizzazioni elevate in API che è in esclusiva per l'app ufficiale.
C'è comunque un modo per impedirgli di farlo? Come funziona l'app ufficiale Facebook o Twitter?
Non ho capito. Stai dicendo che dovrei usare i token OAuth con l'app (client_id, Official, day, ...) ecc. Nell'API quando il client richiede un token. Che differenza farà? E cosa intendi con l'app ufficiale? – ajaybc
'App ufficiale' e '3rd party' sono una stringa o un codice con esso è possibile identificare l'origine della richiesta; – Abdessamad