Вы правы, что беспокоитесь - секрет клиента не должен раскрываться в клиентском веб-приложении. Рассматривали ли вы использование неявного потока, а не потока паролей? Первый не нуждается в секрете клиента, который будет известен клиенту.
С другой стороны, возможно, вам здесь вообще не нужен поток OAuth 2.0. Один из вариантов - просто отправить имя пользователя / пароль на сервер и получить токен, и вообще не беспокоиться об идентификаторах / секретах клиента. Это будет зависеть от того, планируете ли вы выставить свой сервер для других приложений. Если это просто приложение, я не вижу особых преимуществ в реализации потока OAuth 2.0.