2016-10-12 1 views
0

Я разрабатываю приложение для Android, которое интегрируется с пользователями OneDrive для личной учетной записи и получает область Files.Read.Проблема безопасности, связанная с идентификатором клиента, полученным из портала регистрации приложений Microsoft

Я зарегистрировал приложение на портале регистрации приложений Microsoft. Получил идентификатор клиента для аутентификации моего приложения с OneDrive, и я использую API-интерфейсы Microsoft Graph.

Теперь я должен включить этот идентификатор клиента в свое приложение, которое будет распространяться через Google Play.

Насколько это безопасно? Если кто-либо может получить этот идентификатор клиента, возможно ли, чтобы они настроили данные пользователя, отправив поддельные запросы с использованием этого идентификатора клиента?

Обратите внимание, что эта проблема специально предназначена для идентификатора клиента для аутентификации запросов OneDrive.

Кроме того, эти ответы сохраняются здесь?

Ответ 1:https://stackoverflow.com/a/37945932/1363471

Справедливое замечание: ИД клиента не секрет, дизайн, так что на самом деле нет никакой необходимости, чтобы защитить его.

можно найти в разделе 2.2 в RFC 6749 ("The OAuth 2.0 Авторизация Framework"):

Идентификатор клиента не является секретом; он подвергается владельцу ресурса и НЕ ДОЛЖЕН использоваться отдельно для аутентификации клиента.

Ответ 2:https://stackoverflow.com/a/14565249/1363471

Я знаю, что это не будет хорошим StackOverflow ответ, но я не чувствую состоянии объяснить это лучше, чем угрозы и модели безопасности Соображения (RFC 6819). Итак, вот параграф о получении секретности клиента и его относительных последствиях.

Обратите внимание, что Android приложение является Public Client (нативное приложение для быть более точным) так, как вы говорите, не в состоянии держать конфиденциальные свои полномочия, но все еще в состоянии защитить лексем и код авторизации.

ответ

1

Ответ №1 правильный, идентификатор клиента не является секретом, и вы не должны беспокоиться о его упаковке внутри своего приложения. Его цель - идентифицировать клиента, делающего запрос, например. ваше приложение, чтобы не разрешать вызов. Токен доступа, который вы получаете как результат успешного потока OAuth и должен быть в состоянии защитить, - это то, что используется для авторизации вызова.

Смежные вопросы