跳到主要内容

首屏参数

一组自定义认证 (Authentication) 参数,允许你为终端用户定制所需的首屏体验。

  • first_screen:指定用户将看到的首屏。
  • identifier:指定登录或注册表单将接受的标识符类型。
  • login_hint:用用户的邮箱地址或用户名填充标识符字段。(这是 OIDC 标准参数)

first_screen

first_screen 参数是决定用户重定向到 Logto 登录页面时所见首屏的关键参数。默认情况下,将显示通用登录表单。你可以根据应用需求使用此参数自定义首屏。支持的值有:

  • sign_in:显示登录表单。(默认)
  • register:显示注册表单。
  • reset_password:显示重置密码表单。
  • single_sign_on:显示企业单点登录 (SSO) 登录表单。(会要求输入邮箱地址以确定可用的 SSO 提供商)
  • identifier:sign-in:显示特定标识符的登录表单。可以通过 identifier 参数指定标识符类型。当你启用了多种标识符登录方式时非常有用。
  • identifier:register:显示特定标识符的注册表单。可以通过 identifier 参数指定标识符类型。当你启用了多种标识符注册方式时非常有用。
首屏参数

例如,直接将用户引导到企业单点登录 (SSO) 登录表单:

curl --location \
--request GET 'https://<your-tenant>.logto.app/oidc/auth?client_id=<client_id>&...&first_screen=single_sign_on'

identifier

identifier 参数用于指定登录或注册表单将接受的标识符类型。此参数仅在 first_screen 参数设置为 identifier:sign-inidentifier:registerreset_password 时适用。支持的值有:usernameemailphone。如需支持多种标识符类型,请用空格分隔多个值。

例如,直接将用户引导到邮箱或手机号注册页面:

curl --location \
--request GET 'https://<your-tenant>.logto.app/oidc/auth?client_id=<client_id>&...&first_screen=identifier:register&identifier=email phone'

你在此参数中指定的所有标识符类型,必须在 Logto 控制台的登录或注册设置中已启用。

任何不支持或未启用的标识符类型将被忽略。如果所有指定的标识符都不被支持,则会使用默认的登录体验配置。

login_hint

login_hint 参数在标准 OpenID Connect 规范 中定义,用于在登录表单中预填用户的标识符(如邮箱、手机号或用户名)。在 Logto 中,可以与其他登录屏幕参数结合使用,以提升用户体验。此参数在你有自定义预认证 (Authentication) 表单并提前收集用户标识符时尤其有用,让用户在登录时无需再次输入。

例如,在登录表单中预填收集到的邮箱地址:

curl --location \
--request GET 'https://<your-tenant>.logto.app/oidc/auth?client_id=<client_id>&...&first_screen=identifier:sign_in&identifier=email&login_hint=[email protected]

SDK 支持

在支持的 Logto SDK 中,你可以在调用 signIn 方法时设置这些参数:

logtoClient.signIn({
redirectUri: 'https://your-app.com/callback',
firstScreen: 'identifier:register',
identifier: ['email', 'phone'],
loginHint: '[email protected]',
});
备注:

我们正在逐步为所有 Logto SDK 添加对 first_screenidentifierlogin_hint 参数的支持。如果你在使用的 SDK 中没有看到这些参数,请提交 issue 或联系我们。

对于 Logto OSS 用户,这些参数自 1.15.0 版本起已支持。如果你使用的是旧版本,请升级到最新版本。