App 访问已存储密码的权限
iOS、iPadOS 和 macOS App 可以使用 ASAuthorizationPasswordProvider
和 SecAddSharedWebCredential
来请求“自动填充密码”钥匙串帮助用户登录。密码提供程序及其请求可与“通过 Apple 登录”一起使用,这样就可以调用相同的 API 帮助用户登录 App,不管用户的账户是基于密码的账户,还是使用“通过 Apple 登录”创建的账户。
只有 App 开发者和网站管理员同时批准且用户同意后,App 才可访问已存储的密码。App 开发者通过在其 App 中加入授权,让系统获知他们需要访问 Safari 浏览器已存储的密码。授权书中列出了关联网站的完全限定域名,网站必须将文件放在其服务器上,并在其中列出已获 Apple 批准的 App 的唯一 App 标识符。
安装了带有 com.apple.developer.associated-domains 授权的 App 后,iOS 和 iPadOS 向列表中的每个网站发出 TLS 请求来请求以下其中一个文件:
apple-app-site-association
.well-known/apple-app-site-association
如果文件列出被安装 App 的 App 标识符,则 iOS 和 iPadOS 会将网站和 App 标记为具有信任关系。只有在具有信任关系的情况下,调用这两个 API 时才会用户发出提示,用户同意之后,密码才能发放给 App,或者被更新或删除。
感谢您的反馈。