Секрет вашего клиента требуется для обмена кода авторизации на токен доступа. Поэтому, если вы храните свой клиент в секрете на своем сервере, злоумышленник может получить ваш код авторизации, но не сможет получить токен доступа.
Тогда многое зависит от вашего URI перенаправления. Если он принадлежит вашему серверу, это https (поэтому злоумышленник не сможет прослушать трафик ), а ваш сервер не разрешит OpenRedirect - злоумышленнику, вероятно, не удастся перехватить код.
Далее ожидается, что коды авторизации будут одноразового использования . Поэтому, если злоумышленник найдет код в истории вашего браузера - этот код, вероятно, был заменен на токен, - поэтому его нельзя использовать еще раз.
Обратите внимание, что здесь я предполагаю, что OAuth 2.0 хорошо спроектирован. Реализации OAuth 2.0, которые игнорируют требования RFC 4749 , могут подвергаться большому количеству атак.