Нам сложно сказать вам, что такое «хороший» подход, потому что он сильно зависит от ваших требований, вашего устройства, вашей сети и множества других вещей. Ваш процесс кажется разумным для приложения, которое должно пройти аутентификацию на каком-либо удаленном сервере. Просто несколько вещей для рассмотрения:
- Как вы будете хранить локальные учетные данные? MD5 хеш или что-то еще?
- Вы аутентифицируетесь на чем-то похожем на сервер, где кредит должен быть NTLM, или вы просто делаете аутентификацию локального приложения?
- Если пользователь теряет устройство, а кто-то другой находит его, как это влияет на ваши процедуры аутентификации?
- Как они получают самую первую авторизацию, если у них нет сети?
- Насколько безопасен ваш веб-сервис? Это вообще имеет значение?
Я уверен, что есть и другие хорошие вопросы - это те, которые приходят на ум прямо сейчас. Дело в том, что только вы знаете, какой уровень безопасности необходим вашему приложению и какие варианты использования будут, поэтому лучшим человеком, который будет судить о том, хорош ли подход, будет вы.