安裝
- 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 | 工作階段已過期,需要重新登入 |