SuperAPI AI 工具集

authentication

安全与审计

查看项目

更新于 10-15 21:12

技能介绍

用途:在 iOS 应用中实现用户认证流程,覆盖 Sign in with Apple、通行密钥(passkey/WebAuthn)、OAuth 第三方网页认证、密码自动填充与生物识别再认证。

主要能力:使用 ASAuthorizationController 发起 Apple 登录,处理 ASAuthorizationAppleIDCredential 中的 user、email、fullName、identityToken、authorizationCode;通过 getCredentialState(forUserID:completion:) 在每次启动时检查凭据状态,并监听 credentialRevokedNotification 处理撤销;用 ASWebAuthenticationSession 完成 OAuth(明确不建议用 WKWebView);用 ASAuthorizationPasswordProvider 提供密码自动填充;用 LAContext 做本地生物识别再认证。SwiftUI 中可用 SignInWithAppleButton。

必要用法:需在 Xcode 添加 Sign in with Apple 能力;实现 ASAuthorizationControllerPresentationContextProviding 提供展示锚点;identityToken 是 JWT,须发往服务端校验,服务端对照 https://appleid.apple.com/auth/keys 验证 iss、aud、exp,并交换 authorizationCode;令牌与密钥存 Keychain,不存 UserDefaults 或文件;通行密钥需为依赖方域名配置 webcredentials: Associated Domains 与 AASA,注册和断言挑战由服务端下发并服务端验证;生物识别需在 Info.plist 添加 NSFaceIDUsageDescription;OAuth 可设 prefersEphemeralWebBrowserSession 避免共享 Cookie;用户名密码字段设置 textContentType 以支持自动填充。

适用场景:iOS 应用登录、账号设置前的再认证、第三方登录接入。

限制:Keychain 架构与迁移、CryptoKit、Secure Enclave、证书固定、OWASP MASVS/MASTG 等深度安全内容不在本技能范围,应转交 swift-security;LAContext.evaluatePolicy 的返回值不能单独用于释放受保护密钥。具体收费、价格与平台信息暂未提供。