Что приложение может сделать с помощью разрешения «СЛУЖБЫ НА УСТРОЙСТВО»?

Может ли такое приложение свободно читать мои письма /календарь /сообщение /документы /и т. д.?

Разрешение «USE ACCOUNTS ON THE DEVICE» также известно разработчикам как android.permission. USE_CREDENTIALS .

Пример таких приложений: WhatsApp , MightyText .

28 голосов | спросил AlikElzin-kilaka 25 Jpm1000000pmFri, 25 Jan 2013 19:02:50 +040013 2013, 19:02:50

3 ответа


35

Android имеет централизованную систему управления учетными данными для онлайн-сервисов (например, вашей учетной записи Google). Один компонент называется AccountManager. Некоторые приложения могут « действовать как аутентификатор учетной записи ». Это означает, что они понимают, как войти в конкретную онлайн-службу и могут войти в эту службу для AccountManager. Другие приложения хотят использовать эту регистрационную информацию, чтобы идентифицировать вас или выполнять действия от вашего имени, без необходимости вводить ваш пароль каждый раз.

Пример: вход в Google

В вашем телефоне есть встроенное приложение, которое «действует как аутентификатор учетной записи» для вашей учетной записи Google. Он знает, как войти в Google, и у него есть адрес электронной почты и пароль, которые вы вводили при настройке телефона. Также есть приложение YouTube, которое хочет войти в систему, чтобы показать ваши любимые видео, и дать вам комментарий, но без необходимости снова вводить ваш адрес электронной почты и пароль.

Это приложение YouTube говорит о AccountManager и спрашивает, есть ли у него учетные данные для учетной записи Google. Для этого требуется разрешение «найти учетные записи на устройстве». В AccountManager есть список аутентификаторов, установленных на телефоне, с которыми он консультируется, чтобы ответить на этот вопрос. Если у него есть какие-либо учетные данные, приложение будет запрашивать то, что известно как authtoken для учетной записи Google. Для этого запроса требуется разрешение « использовать учетные записи на устройстве ».

AccountManager затем спрашивает, хотите ли вы, чтобы запрашивающее приложение (YouTube) могло использовать запрошенную учетную запись (учетную запись Google). Это может быть в диалоговом окне, которое появляется над приложением или в уведомлении. Кроме того, приложение может ничего не делать, если вы еще не ответили «да» на этот вопрос: возможно, он захочет попросить вас позже в более удобное время. Этот шаг гарантирует, что приложение с разрешениями «использование учетных записей на устройстве» не может сразу использовать каждую учетную запись без запроса.

Если вы скажете «да», AccountManager пересылает запрос аутентификатору (встроенное приложение Google). Далее происходит аутентификация и конкретная служба, в которую вы входите. Возможно, вам потребуется войти в систему, если вы этого еще не сделали, и для входа в систему может потребоваться имя пользователя и пароль, фотография, SMS или что-то еще. Независимо от того, что делает аутентификатор, он может либо потерпеть неудачу, либо дать authtoken обратно в запрашивающее приложение.

Дополнительные проверки

Аутентификатор и онлайновая служба могут также контролировать действия, которые может выполнять запрашивающее приложение. Например, когда вы подключаете приложение к своей учетной записи Google, Google перечисляет разрешения, необходимые для приложения (например, «загрузка видео» на YouTube). Таким образом, приложение может выполнять только перечисленные действия. Однако некоторые службы могут не иметь ничего подобного; для такой службы, как только вы разрешили приложению использовать ваши учетные данные, он может принять любое действие в ваше имя.

Как только запрашивающее приложение получит authtoken, оно может продолжать использовать его для выполнения действий от вашего имени без какого-либо дальнейшего взаимодействия с вами. То есть, как только вы согласитесь, что клиент Twitter Дэна может отправлять сообщения в ваш канал Twitter, он может работать в фоновом режиме и размещать дальнейшие твиты без вашего ведома. Вы должны предоставить только доступ к вашим учетным данным, если вы доверяете , чтобы это не делать.

Резюме

Приложение с полномочиями « использовать учетные записи на устройстве » может после установки запросить доступ к онлайн-сервису (например, Google, Facebook или Twitter). ) на ваше имя. Вы можете разрешить ему доступ к службе или нет. Если вы разрешите ему обращаться к сервису, какие действия, которые он может предпринять от вашего имени могут быть ограничены службой (это зависит от службы), а служба может вы отменяете это разрешение позже (обычно через список «подключенных приложений» на веб-сайте службы).

ответил Dan Hulme 28 Maypm13 2013, 14:49:19
0

Я нашел этот пример в Android API , что можно сделать с использованием этого разрешения.

Из моего понимания как разработчика это означает доступ к почти ВСЕ , предоставленным учетной записью, за исключением изменения пароля.

После того, как у пользователя есть токен учетной записи, он может получить доступ к любым услугам, которые предлагает ваша учетная запись: разместите на своей стене Facebook, прочитайте свой Gmail - почти ВСЕ .

ответил AlikElzin-kilaka 25 Jpm1000000pmFri, 25 Jan 2013 19:13:00 +040013 2013, 19:13:00
-1

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

ответил Kasian Mwagike 31 MarpmMon, 31 Mar 2014 16:23:24 +04002014-03-31T16:23:24+04:0004 2014, 16:23:24

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132