Add InsForge to your Swift Package Manager dependencies:
Enable Logging (Optional)
For debugging, you can configure the SDK log level and destination:
Log Levels:
| Level | Description |
|---|
.trace | Most verbose, includes all internal details |
.debug | Detailed information for debugging |
.info | General operational information (default) |
.warning | Warnings that don’t prevent operation |
.error | Errors that affect functionality |
.critical | Critical failures |
Log Destinations:
| Destination | Description |
|---|
.console | Standard output (print) |
.osLog | Apple’s unified logging system (recommended for iOS/macOS) |
.none | Disable logging |
.custom | Provide your own LogHandler factory |
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 = nil
user = nil
needsEmailVerification = true
這表示在使用者登入之前需要透過選項 2 或 3 進行驗證。
相關方法
| 方法 | 描述 |
|---|
verifyEmail(email:code:) | 使用 6 位數代碼驗證電子郵件 |
resendVerificationEmail(email:) | 重新傳送驗證電子郵件 |
signIn()
使用電子郵件和密碼登入現有使用者。
email (String) - 使用者的電子郵件地址
password (String) - 使用者的密碼
電子郵件驗證
如果登入回應是:
這表示在使用者登入之前需要透過選項 2 或 3(連結或代碼,請參閱 signUp())進行驗證。
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 失敗。
錯誤處理