Bisakah aplikasi seperti itu membaca secara bebas email / kalender / pesan / dokumen / dll?
Izin "GUNAKAN AKUN DI PERANGKAT" juga dikenal oleh pengembang sebagai android.permission.USE_CREDENTIALS .
Contoh aplikasi tersebut: WhatsApp , MightyText .
permissions
AlikElzin-kilaka
sumber
sumber
Jawaban:
Android memiliki sistem terpusat untuk mengelola kredensial untuk layanan online (seperti akun Google Anda). Satu komponen disebut
AccountManager
. Beberapa aplikasi dapat " bertindak sebagai pengautentikasi akun ". Ini berarti bahwa mereka memahami cara masuk ke layanan online tertentu, dan dapat masuk ke layanan itu untukAccountManager
. Aplikasi lain ingin menggunakan informasi masuk itu untuk mengidentifikasi Anda atau melakukan tindakan atas nama Anda, tanpa harus memasukkan kata sandi Anda setiap saat.Contoh: masuk ke Google
Ponsel Anda memiliki aplikasi bawaan yang "bertindak sebagai pengautentator akun" untuk akun Google Anda. Ia tahu cara masuk ke Google, dan memiliki email dan kata sandi yang Anda masukkan saat mengatur telepon. Ada juga aplikasi YouTube, yang ingin masuk untuk menampilkan video favorit Anda, dan membiarkan Anda berkomentar, tetapi tanpa harus memasukkan email dan kata sandi lagi.
Aplikasi YouTube ini berbicara kepada
AccountManager
dan menanyakan apakah ia memiliki kredensial untuk akun Google. Mengajukan pertanyaan ini memerlukan izin "temukan akun di perangkat". TheAccountManager
memiliki daftar otentikator diinstal pada ponsel, yang berkonsultasi untuk menjawab pertanyaan ini. Jika memang memiliki kredensial, aplikasi kemudian akan menanyakan apa yang dikenal sebagai authtoken untuk akun Google. Permintaan ini membutuhkan izin " gunakan akun di perangkat ".The
AccountManager
kemudian meminta Anda jika Anda ingin aplikasi yang meminta (YouTube) untuk dapat menggunakan akun yang diminta (akun Google). Ini mungkin dalam dialog yang muncul di atas aplikasi, atau dalam pemberitahuan. Atau, aplikasi dapat memilih untuk tidak melakukan apa pun jika Anda belum menjawab ya untuk pertanyaan ini: mungkin ingin bertanya nanti pada waktu yang lebih nyaman. Langkah ini memastikan bahwa aplikasi dengan izin "gunakan akun di perangkat" tidak dapat langsung menggunakan setiap akun tanpa diminta.Jika Anda menjawab ya,
AccountManager
kirimkan permintaan ke autentikator (aplikasi Google bawaan). Apa yang terjadi selanjutnya tergantung pada autentikator dan layanan tertentu yang Anda masuki. Anda mungkin harus masuk jika sebelumnya Anda belum melakukannya, dan masuk mungkin memerlukan nama pengguna dan kata sandi, foto, SMS, atau yang lainnya sama sekali. Apa pun yang dilakukan autentikator, itu bisa gagal, atau mengembalikan authtoken ke aplikasi yang meminta.Pemeriksaan lebih lanjut
Autentikator dan layanan online juga dapat mengontrol tindakan apa yang dapat dilakukan oleh aplikasi yang meminta. Misalnya, ketika Anda menghubungkan aplikasi ke akun Google Anda, Google mencantumkan izin yang dibutuhkan aplikasi (seperti "unggah video" untuk YouTube). Dengan demikian, aplikasi hanya dapat melakukan tindakan yang tercantum. Namun, beberapa layanan mungkin tidak memiliki yang seperti itu; untuk layanan seperti itu, setelah Anda mengizinkan aplikasi untuk menggunakan kredensial Anda, itu dapat mengambil tindakan apa pun atas nama Anda.
Setelah aplikasi yang meminta memperoleh authtoken, ia dapat terus menggunakannya untuk melakukan tindakan atas nama Anda tanpa interaksi lebih lanjut dari Anda. Yaitu, setelah Anda menyetujui bahwa Klien Twitter Dan dapat memposting ke feed Twitter Anda, itu mungkin berjalan di latar belakang dan memposting tweet lebih lanjut tanpa Anda ketahui. Anda hanya harus memberikan akses aplikasi ke kredensial Anda jika Anda percaya tidak melakukannya.
Ringkasan
Aplikasi dengan izin " gunakan akun pada perangkat " dapat, setelah diinstal, meminta Anda untuk mengakses layanan online (seperti Google, Facebook, atau Twitter) dengan nama Anda. Anda dapat memilih untuk membiarkannya mengakses layanan atau tidak. Jika Anda membiarkannya mengakses layanan, tindakan apa yang dapat dilakukan atas nama Anda mungkin dibatasi oleh layanan (terserah layanan), dan layanan mungkin membiarkan Anda mencabut izin itu nanti (biasanya melalui daftar "aplikasi yang terhubung "di situs web layanan).
sumber
Saya menemukan contoh ini di Android API tentang apa yang dapat dilakukan dengan menggunakan izin itu.
Dari pemahaman saya sebagai pengembang, ini berarti akses ke hampir SEMUA yang disediakan oleh akun, kecuali mengubah kata sandi.
Setelah pengguna memiliki token akun, ia dapat mengakses layanan apa pun yang ditawarkan akun: posting di dinding Facebook Anda, baca Gmail Anda - hampir SEMUANYA .
sumber
Aplikasi tidak akan mengakses akun layanan apa pun. Beberapa aplikasi memerlukan izin ini karena mereka perlu membuka akun baru dari aplikasi mereka.
sumber