Вопрос

Я создаю расширение Chrome, которое будет взаимодействовать с API Salesforce-Chatter.Но для пользователя, используя аутентификацию oAuth (поток агента пользователя), мне нужно встроить ключ клиента в моем расширении.

Это приведет к этой проблеме безопасности?Или есть ли способ использовать OAUTH без встраивания идентификатора клиента в моем расширении?

Это было полезно?

Решение

ID клиента должен быть включен в запрос, поэтому провайдер знает, что запрос пришел от вас, как уже указал @matt Lausey. Обычно провайдер также выдает конфиденциальный секрет Client Client , который дополнительно включен в запрос токена доступа , поэтому провайдер может убедиться, что ваше приложение разрешено использовать это ID клиента .

Расширения Chrome работают на открытой платформе, и сама платформа не предусматривает никаких методов для аутентификации расширения на сервере (то, какой Salesforce тогда также должен поддерживать) или сохранять свойства безопасно (было бы сложно, если не невозможно на открытом Платформа), так что удерживайте секрет клиента Confidential, к сожалению, невозможно.

Как это общая проблема, она уже рассматривается в спецификации ОАУТ (см. Раздел 10.1 Аутентификация клиента и 10.2 Обезгание клиента ). Поэтому провайдер требуется выполнять дополнительные проверки, но на стороне клиента вы не можете сделать что-либо, чтобы эффективно улучшить безопасность.

Если вы хотите, чтобы еще несколько представлений о том, как это будет обрабатываться на устройствах Android в будущем, проверьте мой ответ здесь

Другие советы

Вы должны встроить идентификатор клиента в расширении, чтобы сообщить Salesforce знать, что это приложение, которое пытается аутентифицировать.Эти идентификаторы клиента предназначены для хранения и передачи на сервер, так что до тех пор, пока вы храните его безопасно, не должен быть проблемой.

Как Мэтт Объясняется, если вы создаете упакованный приложение, вы будете вынуждены включить идентификатор клиентаОтказДругими решениями состоит в том, чтобы написать приложение в качестве размещенного приложения:

Какая разница между упакованными приложениями и размещенными приложениями?

Недостаток этого - это добавленная сложность управления веб-сервером.Но это позволит большую безопасность.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top