安装
- Add InsForge dependencies to your project
- Maven Central
- GitHub Packages
build.gradle.kts:
- Initialize InsForge SDK
- Enable Logging (Optional)
| Log Level | Description |
|---|---|
NONE | No logging (default, recommended for production) |
ERROR | Only errors |
WARN | Warnings and errors |
INFO | Informational messages |
DEBUG | Debug info (request method, URL, response status) |
VERBOSE | Full details (headers, request/response bodies) |
Use
NONE or ERROR in production to avoid exposing sensitive data in logs.Android Initialization
- Add Chrome Custom Tabs dependency to your
build.gradle.kts:
- Initialize InsForge SDK (With Chrome Custom Tabs and Session Storage)
- Use Jetpack DataStore for Session Storage (Optional)
signUp()
使用电子邮件和密码创建新用户帐户。参数
email(String) - 用户的电子邮件地址password(String) - 用户的密码name(String?, optional) - 用户的显示名称
返回值
SignUpResponse
示例(包含验证的完整流程)
电子邮件验证
对于使用电子邮件注册的用户,InsForge 后端提供三种选项:- 无电子邮件验证 - 用户可在注册后立即登录。
SignUpResponse将具有accessToken != null。 - 基于链接的验证 - 用户必须打开电子邮件并单击验证链接,然后才能登录。
- 基于代码的验证 - InsForge 后端向用户的电子邮件发送 6 位验证代码。客户端应用程序需要显示验证屏幕,用户可以在其中输入代码,然后调用
verifyEmail(email, code)以完成验证。只有之后用户才能使用电子邮件 + 密码登录。
requireEmailVerification 为 true 时,响应将具有:
accessToken = nulluser = nullrequireEmailVerification = true
相关方法
| 方法 | 说明 |
|---|---|
verifyEmail(email, code) | 使用 6 位代码验证电子邮件 |
resendVerificationEmail(email) | 重新发送验证电子邮件 |
signIn()
使用电子邮件和密码登录现有用户。示例
电子邮件验证
如果登录响应是:signOut()
退出当前用户。示例
signInWithOAuthPage()
直接使用特定 OAuth 提供商登录。此方法在系统浏览器中直接打开 OAuth 提供商的身份验证页面。支持的提供商
参数
provider(OAuthProvider) - 用于身份验证的 OAuth 提供商redirectUri(String) - 回调 URL,InsForge 将在身份验证后重定向到此 URL
返回值
示例
- 配置 BrowserLauncher
browserLauncher 以处理打开 URL:
- 配置应用程序链接/深层链接回调
- 选项 A:自定义 URL 方案(用于开发)
- 选项 B:应用程序链接(用于生产)
- 使用特定提供商启动 OAuth 登录
- 处理 OAuth 回调
client 应来自您在应用程序中其他地方使用的同一共享 InsForge 客户端实例,例如 Application 单例或您的 DI 容器。
getCurrentUser()
从服务器获取当前已验证的用户。这是一个进行网络请求的暂停函数。返回值
示例
此方法进行网络请求以获取用户数据。若要访问本地缓存的用户状态,请改用
currentUser StateFlow。updateProfile()
更新当前用户的配置文件。参数
profile(Map\<String, Any\>) - 要更新的配置文件字段
返回值
示例
密码重置
InsForge 支持两种密码重置方法,在后端中配置:- 代码方法:用户通过电子邮件接收 6 位代码,验证该代码以获取重置令牌,然后重置密码
- 链接方法:用户通过电子邮件接收包含重置令牌的魔法链接,然后直接重置密码
sendPasswordReset()
向用户发送密码重置电子邮件。该电子邮件将包含 6 位代码或魔法链接,具体取决于后端配置。参数
email(String) - 用户的电子邮件地址
示例
exchangeResetPasswordToken()
将 6 位重置代码交换为重置令牌。此方法仅用于基于代码的重置流程。参数
email(String) - 用户的电子邮件地址code(String) - 通过电子邮件接收的 6 位数字代码
返回值
ResetTokenResponse
示例
resetPassword()
使用重置令牌重置用户的密码。参数
newPassword(String) - 符合配置要求的新密码otp(String) - 重置令牌(来自代码流的exchangeResetPasswordToken(),或来自链接流的魔法链接 URL)
示例
错误处理
常见错误代码
| 错误代码 | 说明 |
|---|---|
INVALID_CREDENTIALS | 电子邮件或密码不正确 |
USER_NOT_FOUND | 不存在此电子邮件的用户 |
EMAIL_NOT_VERIFIED | 需要电子邮件验证 |
INVALID_EMAIL | 电子邮件格式无效 |
WEAK_PASSWORD | 密码不符合要求 |
USER_ALREADY_EXISTS | 电子邮件已注册 |
SESSION_EXPIRED | 会话已过期,需要重新登录 |