跳轉到主要內容

安裝

Add InsForge to your Swift Package Manager dependencies:

Enable Logging (Optional)

For debugging, you can configure the SDK log level and destination:
Log Levels:
LevelDescription
.traceMost verbose, includes all internal details
.debugDetailed information for debugging
.infoGeneral operational information (default)
.warningWarnings that don’t prevent operation
.errorErrors that affect functionality
.criticalCritical failures
Log Destinations:
DestinationDescription
.consoleStandard output (print)
.osLogApple’s unified logging system (recommended for iOS/macOS)
.noneDisable logging
.customProvide 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 後端提供三種選擇:
  1. 不需要電子郵件驗證 - 使用者可在註冊後立即登入。SignUpResponse 將具有 hasSession = true
  2. 基於連結的驗證 - 使用者必須打開其電子郵件並按一下驗證連結才能登入。
  3. 基於代碼的驗證 - InsForge 後端向使用者的電子郵件傳送 6 位數驗證碼。用戶端應用需要顯示驗證畫面,使用者可以輸入代碼,然後呼叫 verifyEmail(email:code:) 完成驗證。只有這樣使用者才能使用電子郵件和密碼登入。
requireEmailVerificationtrue 時,回應將具有:
  • 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 失敗。

錯誤處理