Для неявного OAuth вы не используете Client Secret в браузере javascript. Вам нужен только идентификатор клиента. Идентификатор клиента не является секретом и считается общедоступной информацией. Идентификатор клиента и области действия определяют, какие разрешения для служб вы хотите авторизовать.
Насколько безопасно использовать OAuth2 для веб-приложений?
Сам OAuth очень безопасен. Однако, как и в любой реализации безопасности, она настолько же сильна, как и самый слабый компонент. Для неявного потока предоставления прав, такого как ваше одностраничное веб-приложение, аутентификация происходит между пользователем и поставщиком удостоверений. После завершения потока ваше приложение имеет токен доступа и опционально токен идентификатора клиента. Предположение о неявном потоке предоставления прав состоит в том, что пользователь присутствует в браузере, и конфиденциальная информация не будет храниться.
Как можно защитить информацию пользователя, если клиент (браузер)
скомпрометированы
Если браузер пользователя скомпрометирован, ничто не может быть защищено. После создания токена OAuth с правами на выполнение X
скомпрометированный браузер может продолжать выполнять X
до истечения срока действия токена.
Если ваш вопрос касается защиты логина и пароля пользователя или другого типа аутентификационной информации, то эта информация также подвергается риску в случае взлома браузера.
Таким образом, взломанный браузер потенциально не имеет безопасности, независимо от того, какая технология используется для аутентификации и авторизации.