Sto progettando una nuova API REST per un servizio di app per dispositivi mobili, che è qualcosa che non ho ancora dovuto fare da zero. Ho deciso di utilizzare OAuth 2.0 con la concessione delle credenziali di password del proprietario di risorse.
Idealmente, gli utenti devono effettuare il login una volta e rimanere autenticati per sempre, finché non si disconnettono o l'accesso viene revocato. Ho letto che dovrei usare token di accesso di breve durata e un token di aggiornamento a lungo termine, con il vantaggio che anche se il token di aggiornamento viene rubato, è necessario il client secret per richiedere un nuovo token di accesso, che potrebbe essere revocato.
Ma le app mobili sono considerate client pubblici, che non dovrebbero utilizzare i segreti dei clienti, quindi c'è davvero qualche vantaggio nell'utilizzare i token di aggiornamento in questa situazione, piuttosto che usare solo token di accesso di lunga durata?