Appleプラットフォームのセキュリティ
アプリから保存済みパスワードへのアクセス
iOS、iPadOS、およびmacOSのアプリは、ASAuthorizationPasswordProvider
およびSecAddSharedWebCredential
を使って、パスワード自動入力キーチェーンによるユーザのサインインの支援を要求できます。パスワードプロバイダとその要求は「Appleでサインイン」と併用できるため、ユーザのアカウントがパスワードベースか「Appleでサインイン」を使って作成されたものかにかかわらず、ユーザがアプリにサインインできるように同じAPIが呼び出されます。
アプリが保存済みパスワードにアクセスできるのは、アプリのデベロッパとWebサイトの管理者の承認およびユーザの同意がある場合だけです。アプリのデベロッパはアプリにエンタイトルメントを含めることで、Safariに保存されたパスワードにアクセスする意思を表明できます。このエンタイトルメントには、関連するWebサイトの完全修飾ドメイン名のリストが記載されます。Webサイトは、Appleが承認したアプリの一意のアプリ識別情報のリストを記載したファイルをサーバに配置する必要があります。
com.apple.developer.associated-domainsエンタイトルメントを持つアプリがインストールされると、iOSおよびiPadOSがリスト内の各WebサイトにTLSリクエストを発行し、次のいずれかのファイルを要求します。
apple-app-site-association
.well-known/apple-app-site-association
インストールされるアプリのアプリ識別情報がファイルのリストにある場合は、iOSおよびiPadOSによってそのWebサイトとアプリが信頼関係にあるとマークされます。信頼関係ある場合にのみ、これら2つのAPIを呼び出したときにユーザにプロンプトが表示されます。ユーザがこれに同意しない限り、パスワードをアプリに渡したり、アップデートまたは削除したりすることはできません。