跳转到主要内容

安装

Find the anon key with 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 提供商密钥(如 googlegithub 或自定义提供商密钥如 okta-company
  • redirectTo (string, required) - 身份验证后要重定向的 URL
  • additionalParams (Record<string, string>, optional) - 提供商特定的 OAuth 提示,如 Google 的 prompt=select_account
  • skipBrowserRedirect (boolean, optional) - 如果为 true,返回 OAuth URL 而不自动重定向(用于服务器渲染或移动流程)

返回

OAuth 重定向后,SDK 自动检测回调 insforge_code,将其交换为会话,并自动保存会话。

示例

additionalParams 仅用于提供商特定的可选提示。不要传递服务器拥有的 OAuth 字段如 client_idredirect_uricode_challengestateresponse_typescope;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:浏览器链接流的结果。对于验证,值为 successerror
  • 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 步(仅在 resetPasswordMethodcode 时使用)。
resetPasswordMethodlink 时不使用此端点,因为浏览器重置链接流直接使用电子邮件链接令牌。

参数

  • 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:浏览器链接流的结果。对于重置链接,值为 readyerror
  • insforge_type:流标识符。对于重置链接,这始终是 reset_password
  • insforge_error:仅当 insforge_status=error 时存在。人类可读的错误消息用于显示或日志。
仅当 insforge_status=readytoken 存在时才呈现重置密码表单。

返回

示例

输出


错误处理

所有身份验证方法返回结构化错误: