Для клиентской части Google OAuth 2 ваш идентификатор клиента не имеет значения.Клиент выполняет поток OAuth, а клиент получает токен OAuth.Волшебство в том, что клиент должен авторизовать Google.Любой может украсть ваш идентификатор клиента, но он не может ничего с этим поделать.В рамках жизненного цикла OAuth вы должны проверять токены OAuth.Ваши бэкэнды НЕ должны слепо принимать что-либо от клиента - или в любом месте, не находящемся под вашим абсолютным контролем.
Ваш идентификатор клиента не является секретом, и вы можете указать это открытым способом в своем коде.
Секрет клиента должен оставаться секретным. Секрет клиента не участвует в аутентификации на стороне клиента.Client Secret используется на ваших внутренних серверах.
Я думаю, что вы путаете процесс.Когда клиентское приложение (ваше приложение, веб-браузер и т. Д.) Проходит проверку подлинности с использованием учетных записей Google, ваше приложение не авторизуется.Клиент авторизуется.Клиент должен руководствоваться здравым смыслом в отношении того, какие веб-сайты он посещает (или приложения) и использует свои логины Google.Единственное, что клиент может сделать со своим токеном, - это получить доступ к своим собственным данным (Google Drive, Gmail и т. Д.).Если ваши внутренние серверы принимают токен OAuth клиента для управления доступом, тогда вы несете ответственность за проверку того токена и его желаемого использования в ваших системах, а также от того, у кого этот токен авторизован.
Лучше выбрать проверку подлинности.и авторизация на бэкэнде (например, ваш веб-сервер).Затем вы можете реализовать перенаправление Google OAuth для отправки токена OAuth на ваши серверы.Вы защищены тем, что в процесс аутентификации могут быть вовлечены только авторизованные источники (например, имя вашего домена) и авторизованные URI перенаправления (конечная точка на вашем веб-сервере).Затем вы сохраняете токен в сеансе клиента, обновляете при необходимости, при необходимости добавляете области авторизации и т. Д.
Я часто использую оба метода (на стороне клиента, на стороне сервера), и оба работают хорошо.