そのようなアプリは私のメール/カレンダー/メッセージ/ドキュメント/などを自由に読むことができますか?
「デバイスのアカウントを使用」権限は、開発者にとってandroid.permission.USE_CREDENTIALSとしても知られています。
そのようなアプリの例:WhatsApp、MightyText。
そのようなアプリは私のメール/カレンダー/メッセージ/ドキュメント/などを自由に読むことができますか?
「デバイスのアカウントを使用」権限は、開発者にとってandroid.permission.USE_CREDENTIALSとしても知られています。
そのようなアプリの例:WhatsApp、MightyText。
回答:
Androidには、オンラインサービス(Googleアカウントなど)の資格情報を管理するための集中システムがあります。1つのコンポーネントはと呼ばれますAccountManager
。一部のアプリは「アカウント認証システムとして機能」できます。これは、特定のオンラインサービスにログインする方法を理解し、そのサービスにログインできることを意味しますAccountManager
。他のアプリは、毎回パスワードを入力しなくても、そのログイン情報を使用してユーザーを識別したり、ユーザーに代わってアクションを実行したりします。
お使いの携帯電話には、Googleアカウントの「アカウント認証者として機能する」アプリが組み込まれています。Googleへのログイン方法を認識しており、電話のセットアップ時に入力したメールとパスワードを持っています。ログインしてお気に入りの動画を表示したり、コメントしたりできるようにしたいが、電子メールとパスワードを再度入力する必要がないYouTubeアプリもあります。
このYouTubeアプリはAccountManager
、Googleアカウントの資格情報を持っているかどうかを確認します。この質問を行うには、「デバイス上のアカウントを検索する」権限が必要です。AccountManager
それはこの質問に答えるために相談電話にインストール認証者のリストを持っています。資格情報がある場合、アプリはGoogleアカウントの認証トークンと呼ばれるものを要求します。このリクエストには、「デバイスのアカウントを使用する」権限が必要です。
AccountManager
あなたが要求するアプリ(YouTubeが)要求されたアカウント(Googleのアカウント)を使用することができるようにしたい場合は、あなたを尋ねられます。これは、アプリ上に表示されるダイアログまたは通知にあります。または、この質問に「はい」と答えていない場合、アプリは何もしないことを選択できます。後で都合のよいときに尋ねることができます。この手順により、「デバイス上のアカウントを使用」権限を持つアプリが、確認せずにすべてのアカウントをすぐに使用できないようになります。
「はい」と答えると、AccountManager
リクエストはオーセンティケーター(組み込みのGoogleアプリ)に転送されます。次に何が起こるかは、オーセンティケーターとログインしている特定のサービス次第です。以前にログインしていない場合はログインする必要があります。ログインするには、ユーザー名とパスワード、写真、SMSなどが必要になる場合があります。オーセンティケーターが何をしても、失敗するか、要求元のアプリに認証トークンを返すことができます。
認証システムとオンラインサービスは、要求元アプリが実行できるアクションを制御することもできます。たとえば、アプリをGoogleアカウントに接続すると、アプリに必要な権限(YouTubeの「動画のアップロード」など)がリストされます。したがって、アプリはリストされたアクションのみを実行できます。ただし、一部のサービスにはそのようなものがない場合があります。このようなサービスの場合、アプリに資格情報の使用を許可すると、名前で任意のアクションを実行できます。
要求元のアプリが認証トークンを取得すると、それを引き続き使用して、ユーザーからの対話なしで名前でアクションを実行できます。つまり、DanのTwitterクライアントがTwitterフィードに投稿できることに同意すると、バックグラウンドで実行され、知らないうちにさらにツイートを投稿する可能性があります。アプリに資格情報へのアクセスを許可しないのは、信用していない場合のみです。
「デバイスのアカウントを使用」権限を持つアプリは、インストールされると、自分の名前でオンラインサービス(Google、Facebook、Twitterなど)にアクセスするように要求できます。サービスへのアクセスを許可するかどうかを選択できます。サービスへのアクセスを許可する場合、あなたに代わって実行できるアクションはサービスによって制限される場合があり(サービス次第)、サービスは後で許可を取り消す場合があります(通常は「接続済みアプリのリスト」サービスのウェブサイトで)。
この許可を使用して何ができるかについて、Android APIでこの例を見つけました。
開発者としての私の理解から、この手段はほとんどへのアクセスをEVERYTHINGパスワードを変更することを除いて、アカウントによって提供さ。
ユーザーは、アカウントのトークンを持っていたら、彼はすべてのサービスのアカウントの提供にアクセスすることができます:自分のFacebookの壁にポストを、あなたのGmailを読んで-ほとんどEVERYTHING。