ios12----密码填充功能

记录一些官方文档的翻译,里面是一些配置密码自动填充时官方给出的所有方法,后续会重新整理一份在实际项目上的应用

认证服务
为密码管理器应用程序定义新的扩展点,以便与密码自动填充集成。

概观
使用身份验证服务框架将密码管理器应用程序与密码自动填充集成。您还可以使用所有用户在应用程序和Safari之间共享持久性cookie和网站数据,以获得单点登录(SSO)体验。ASWebAuthenticationSession

要集成您的密码管理器应用:

  • 通过在Xcode中为项目添加Credential Provider Extension目标来配置您的应用程序。
  • 支持在用户使用对象从QuickType栏打开扩展程序时向用户显示其凭据列表。ASCredentialServiceIdentifier
  • 通过在扩展中使用,指定要在QuickType栏中显示的凭据。ASCredentialIdentityStore
  • 当用户在其“设置”中启用密码管理器时,请指定扩展程序的UI。

添加凭据提供程序扩展

  • class ASCredentialProviderExtensionContext 表示凭据提供程序扩展上下文的类。
  • class ASCredentialProviderViewController 一个类,它提供用于创建凭据提供程序扩展的标准接口。

实施凭证清单

  • class ASCredentialServiceIdentifier
    表示凭证服务标识符的类。

更新凭据标识存储

  • class ASCredentialIdentityStore 表示凭证标识存储的类。
  • class ASCredentialIdentityStoreState 表示凭证标识存储状态的类。
  • struct ASCredentialIdentityStoreError 凭据标识存储错误。
  • let ASCredentialIdentityStoreErrorDomain: String

证书

  • class ASPasswordCredential 表示密码凭据的类。
  • class ASPasswordCredentialIdentity 表示密码凭据标识的类。

与Safari共享数据

  • class ASWebAuthenticationSession
    管理在Safari和应用程序之间共享一次性登录的类,也可用于自动登录关联的应用程序。
  • let ASWebAuthenticationSessionErrorDomain: String Web身份验证会话的错误域。
  • struct ASWebAuthenticationSessionError

扩展错误

  • struct ASExtensionError 扩展错误。
  • let ASExtensionErrorDomain: String 扩展错误的错误域。

权益

  • 自动填充凭证提供程序权利
    一个布尔值,指示应用程序是否可以在用户权限的情况下为Safari和其他应用程序中的自动填充提供用户名和密码。

密钥: com.apple.developer.authentication-services.autofill-credential-provider

ASWeb 认证会话
管理在Safari和应用程序之间共享一次性登录的类,也可用于自动登录关联的应用程序。

一个对象可用于用户与网络服务进行身份验证,即使Web服务是由第三方运行。使用户能够控制他们是否想要使用来自Safari的现有登录会话。ASWebAuthenticationSessionASWebAuthenticationSession

注意

除会话cookie外,所有cookie都可以与Safari共享。

该应用程序提供指向身份验证网页的URL。该页面将加载到安全的视图控制器中。用户可以从网页上对自己进行身份验证并授予对应用的访问权限。完成后,该服务将发送带有身份验证令牌的回调URL,此URL将通过以下方式传递给应用程序。ASWebAuthenticationSession.CompletionHandler

回调URL通常具有自定义URL方案。要使应用程序接收回调URL,它需要在其中注册自定义URL方案,或者将方案设置为初始化程序中的参数。Info.plistinit(url:callbackURLScheme:completionHandler:)

如果用户已经通过Safari或其他应用程序登录了Web服务,则可以共享现有的登录信息。将提供警报以获得用户同意共享其现有登录信息。如果用户取消警报,会话将被取消,并将使用错误代码调用完成处理程序。ASWebAuthenticationSessionASWebAuthenticationSessionError.Code.canceledLogin

如果用户在显示Web服务的登录网页时点击取消,则会话将被取消,并且将使用错误代码调用完成处理程序。ASWebAuthenticationSessionError.Code.canceledLogin

该应用可以通过呼叫取消会话cancel()。这也将关闭显示Web服务登录页面的视图控制器。

官方链接

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值