安装
Add InsForge to your Swift Package Manager dependencies:Enable Logging (Optional)
For debugging, you can configure the SDK log level and destination:
Log Destinations:
Use
.info or .error in production to avoid exposing sensitive data in logs.signUp()
使用电子邮件和密码创建新用户帐户。参数
email(String) - 用户的电子邮件地址password(String) - 用户的密码name(String, optional) - 用户的显示名称
返回值
SignUpResponse
示例(包含验证的完整流程)
电子邮件验证
对于使用电子邮件注册的用户,InsForge 后端提供三种选择:- 不需要电子邮件验证 - 用户可在注册后立即登录。
SignUpResponse将具有hasSession = true。 - 基于链接的验证 - 用户必须打开其电子邮件并单击验证链接才能登录。
- 基于代码的验证 - InsForge 后端向用户的电子邮件发送 6 位数验证码。客户端应用需要显示验证屏幕,用户可以输入代码,然后调用
verifyEmail(email:code:)完成验证。只有这样用户才能使用电子邮件和密码登录。
requireEmailVerification 为 true 时,响应将具有:
accessToken = niluser = nilneedsEmailVerification = true
相关方法
signIn()
使用电子邮件和密码登录现有用户。参数
email(String) - 用户的电子邮件地址password(String) - 用户的密码
示例
电子邮件验证
如果登录响应是:signOut()
登出当前用户。示例
getCurrentUser()
获取带有配置文件数据的已认证用户。示例
setProfile()
更新当前用户的配置文件。示例
密码重置
InsForge 支持两种密码重置方法,在后端中配置:- 代码方法:用户通过电子邮件接收 6 位数代码,验证它以获取重置令牌,然后重置密码
- 链接方法:用户通过电子邮件接收包含重置令牌的魔法链接,然后直接重置密码
sendPasswordReset()
向用户发送密码重置电子邮件。电子邮件将包含 6 位数代码或魔法链接,具体取决于后端配置。参数
email(String) - 用户的电子邮件地址
示例
exchangeResetPasswordToken()
将 6 位数重置代码交换为重置令牌。此方法仅用于基于代码的重置流程。参数
email(String) - 用户的电子邮件地址code(String) - 通过电子邮件接收的 6 位数代码
返回值
ResetPasswordTokenResponse
示例
resetPassword()
使用重置令牌重置用户的密码。参数
otp(String) - 重置令牌(从exchangeResetPasswordToken()获取的代码流,或从魔法链接 URL 获取的链接流)newPassword(String) - 满足配置要求的新密码
示例
signInWithOAuthView()
直接使用特定的 OAuth 提供商登录。此方法打开 OAuth 提供商的身份验证页面。 在 iOS 12+ 和 macOS 10.15+ 上,SDK 使用ASWebAuthenticationSession 显示应用内身份验证浏览器,具有自动回调处理。
支持的提供商
参数
provider(OAuthProvider) - 要认证的 OAuth 提供商redirectTo(String) - InsForge 身份验证后将重定向到的回调 URL
返回值
AuthResponse。
身份验证流程
示例
URL 方案配置
为您的应用注册回调 URL,将该确切值传递给redirectTo,并将相同值添加到认证设置中的 allowedRedirectUrls。例如,您可以使用深层链接如 yourapp://auth/callback 或已声明的 HTTPS 回调如 https://app.example.com/auth/callback。如果 redirectTo 不在允许列表中,请求将以 HTTP 400 失败。