SuperAPI AI 工具集

authentication

编程与开发

查看项目

更新于 10-16 05:46

技能介绍

该技能用于在 iOS 上实现认证流程,基于 AuthenticationServices 与 LocalAuthentication,覆盖 Sign in with Apple、通行密钥(WebAuthn)、OAuth 网页会话、Password AutoFill 与生物识别验证,目标为 Swift 6.3 / iOS 26+。

用途与能力:苹果登录需在 Xcode 添加 Sign in with Apple 能力,SwiftUI 可用 SignInWithAppleButton,成功后从 ASAuthorizationAppleIDCredential 取 user 与 identityToken,启动时用 ASAuthorizationAppleIDProvider().getCredentialState(forUserID:) 检查凭证状态。通行密钥通过 ASAuthorizationPlatformPublicKeyCredentialProvider 发起断言请求,需在 Associated Domains 配置 webcredentials: 并托管 /.well-known/apple-app-site-association。第三方 OAuth 使用 ASWebAuthenticationSession,设置 callbackURLScheme 并从回调提取授权码。密码自动填充用 ASAuthorizationPasswordProvider 创建请求,可与通行密钥请求一并提交。生物识别用 LocalAuthentication 的 LAContext.evaluatePolicy,理由由 localizedReason 指定。

限制与常见错误:Apple ID 仅在首次授权返回全名与邮箱,须立即持久化;identityToken 必须在服务端用 Apple 公钥验证签名,不可信任客户端;通行密钥缺少 webcredentials 会导致失败;ASWebAuthenticationSession 实例须保留至回调完成,否则会被提前释放;调用 evaluatePolicy 前须先 canEvaluatePolicy 检查,否则在不支持的硬件上触发运行时异常;生物识别需在 Info.plist 添加 NSFaceIDUsageDescription。其余内容(收费、价格、平台范围)暂未提供。