安裝
npx @insforge/cli secrets get ANON_KEY, or in the dashboard: click Install and open API Keys.
signUp()
使用電子郵件和密碼建立新使用者帳戶。參數
email(string, required) - 使用者的電子郵件地址password(string, required) - 使用者的密碼name(string, optional) - 使用者的顯示名稱redirectTo(string, optional) - 用於連結型電子郵件驗證。電子郵件連結一律首先開啟 InsForge 後端端點;在驗證令牌後,InsForge 將瀏覽器重新導向至此 URL 以取得驗證結果。當verifyEmailMethod設為link時需要。此 URL 必須包含在allowedRedirectUrls中。建議:使用您的應用登入頁面。
傳回
當
requireEmailVerification 為真時,accessToken 將為空直到使用者驗證其電子郵件。InsForge 傳送驗證電子郵件,其中包含連結或 6 位數字代碼,具體取決於您的儀表板設定(verifyEmailMethod)。如果是代碼驗證,實作提示使用者輸入代碼的頁面(見 verifyEmail())。如果是連結驗證,提供在 InsForge 驗證令牌後應接收瀏覽器的 redirectTo URL。建議:使用您的登入頁面作為 redirectTo,然後顯示成功訊息並詢問使用者使用其電子郵件和密碼登入。範例
輸出
signInWithPassword()
使用電子郵件和密碼登入現有使用者。參數
email(string, required) - 使用者的電子郵件地址password(string, required) - 使用者的密碼
傳回
範例
輸出
signInWithOAuth()
使用已設定的提供商(內建提供商如 Google/GitHub,以及從儀表板設定的任何自訂提供商密鑰)啟動 OAuth 身分驗證流程。參數
provider(string, required) - OAuth 提供商密鑰(如google、github或自訂提供商密鑰如okta-company)redirectTo(string, required) - 身分驗證後要重新導向的 URLadditionalParams(Record<string, string>, optional) - 提供商特定的 OAuth 提示,如 Google 的prompt=select_accountskipBrowserRedirect(boolean, optional) - 如果為 true,傳回 OAuth URL 而不自動重新導向(用於伺服器呈現或行動流程)
傳回
OAuth 重新導向後,SDK 自動偵測回呼
insforge_code,將其交換為工作階段,並自動儲存工作階段。範例
additionalParams 僅用於提供商特定的選用提示。不要傳遞伺服器擁有的 OAuth 欄位如 client_id、redirect_uri、code_challenge、state、response_type 或 scope;InsForge 在伺服器上設定這些值並忽略衝突的用戶端提供的索引鍵。自訂提供商必須首先在 InsForge 儀表板的
Auth Methods 中使用用戶端認證和 OIDC 探索 URL 進行設定。輸出
signOut()
登出目前使用者並清除工作階段。參數
無傳回
範例
輸出
getCurrentUser()
取得目前登入的使用者。 對於瀏覽器應用,在啟動期間呼叫auth.getCurrentUser()。如果存在有效的 httpOnly 重新整理 Cookie,SDK 將在傳回使用者之前自動重新整理工作階段。
對於伺服器模式,當您需要重新整理過期的存取令牌時,明確呼叫 refreshSession({ refreshToken })。
參數
無傳回
範例
輸出
getProfile()
透過 ID 取得任何使用者的公開設定檔。傳回包含所有欄位的平面設定檔物件。參數
userId(string, required) - 要取得設定檔的使用者 ID
傳回
範例
輸出
setProfile()
更新目前使用者在使用者表中的設定檔。支援任何動態欄位並傳回更新的設定檔作為平面物件。參數
profile(object) - 要更新的設定檔欄位的鍵值對映。接受任何欄位。
name(predefined, string) - 使用者的顯示名稱avatar_url(predefined, string) - 設定檔圖片 URL
傳回
範例
輸出
resendVerificationEmail()
當之前的 OTP 已過期或未收到時,重新傳送電子郵件驗證。使用身分驗證設定中設定的方法(verifyEmailMethod)。當方法為 code 時,傳送 6 位數字代碼。當方法為 link 時,傳送透過 InsForge 後端端點的瀏覽器驗證連結。
此端點藉由即使電子郵件不存在也傳回成功來防止使用者列舉。
參數
email(string, required) - 使用者的電子郵件地址redirectTo(string, optional) - 用於連結型電子郵件驗證。電子郵件連結一律首先開啟 InsForge 後端端點;在驗證令牌後,InsForge 將瀏覽器重新導向至此 URL 以取得驗證結果。當verifyEmailMethod設為link時需要。此 URL 必須包含在allowedRedirectUrls中。建議:使用您的應用登入頁面。
傳回
範例
輸出
verifyEmail()
使用 6 位數字代碼驗證電子郵件地址。 對於連結型驗證,使用者應點按電子郵件連結,在瀏覽器中開啟GET /api/auth/email/verify-link。
成功驗證的使用此代碼端點的使用者將收到工作階段令牌。
對於連結型驗證,您的前端應按如下方式處理瀏覽器重新導向:
- 成功:
?insforge_status=success&insforge_type=verify_email - 錯誤:
?insforge_status=error&insforge_type=verify_email&insforge_error=... insforge_status:瀏覽器連結流的結果。對於驗證,值為success或error。insforge_type:流識別碼。對於驗證連結,這一律是verify_email。insforge_error:僅當insforge_status=error時存在。人類可讀的錯誤訊息用於顯示或記錄。
redirectTo。當 insforge_status=success 時,顯示確認訊息並詢問使用者使用其電子郵件和密碼登入。
參數
email(string, required) - 使用者的電子郵件地址otp(string, required) - 6 位數字驗證代碼
傳回
範例
輸出
sendResetPasswordEmail()
使用身分驗證設定中設定的方法(resetPasswordMethod)傳送密碼重設電子郵件。當方法為 code 時,傳送 6 位數字代碼用於兩步流程。當方法為 link 時,傳送透過 InsForge 後端端點的瀏覽器重設連結。
此端點藉由即使電子郵件不存在也傳回成功來防止使用者列舉。
參數
email(string, required) - 使用者的電子郵件地址redirectTo(string, optional) - 用於連結型密碼重設。電子郵件連結一律首先開啟 InsForge 後端端點;InsForge 然後將瀏覽器重新導向至此 URL,在查詢字串中包含重設token,以便您的應用可以呈現其自己的重設密碼頁面。當resetPasswordMethod設為link時需要。此 URL 必須包含在allowedRedirectUrls中。建議:使用您的應用的專用重設密碼頁面。
傳回
範例
輸出
exchangeResetPasswordToken()
將 6 位數字重設密碼代碼交換為重設令牌。這是兩步密碼重設流程的第 1 步(僅在resetPasswordMethod 為 code 時使用)。
當
resetPasswordMethod 為 link 時不使用此端點,因為瀏覽器重設連結流直接使用電子郵件連結令牌。參數
email(string, required) - 使用者的電子郵件地址code(string, required) - 電子郵件中的 6 位數字代碼
傳回
範例
輸出
resetPassword()
使用令牌重設使用者密碼。令牌可以是:- 魔法連結令牌:在
sendResetPasswordEmail的重設頁面 URL 中提供,當方法為link時 - 重設令牌:來自
exchangeResetPasswordToken,在代碼驗證後,當方法為code時
參數
newPassword(string, required) - 使用者的新密碼otp(string, required) - 重設令牌或魔法連結令牌
- 準備重設:
?token=...&insforge_status=ready&insforge_type=reset_password - 錯誤:
?insforge_status=error&insforge_type=reset_password&insforge_error=... token:僅當insforge_status=ready時存在。將此值傳遞給resetPassword({ otp })。insforge_status:瀏覽器連結流的結果。對於重設連結,值為ready或error。insforge_type:流識別碼。對於重設連結,這一律是reset_password。insforge_error:僅當insforge_status=error時存在。人類可讀的錯誤訊息用於顯示或記錄。
insforge_status=ready 且 token 存在時才呈現重設密碼表單。