首屏参数
一组自定义认证 (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'
首屏将遵循 控制台 > 登录体验 中的设置。你需要先启用所需的认证 (Authentication) 方式,并配置品牌、条款与隐私政策以及国际化(i18n)。注意,只有 sign-in 和 register 页面默认显示 logo。
identifier
identifier 参数用于指定登录或注册表单将接受的标识符类型。此参数仅在 first_screen 参数设置为 identifier:sign-in、identifier:register 或 reset_password 时适用。支持的值有:username、email 和 phone。如需支持多种标识符类型,用空格分隔多个值。
例如,直接将用户跳转到电子邮件或手机号注册页面:
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=example@logto.io
SDK 支持
在支持的 Logto SDK 中,你可以在调用 signIn 方法时设置这些参数:
logtoClient.signIn({
redirectUri: 'https://your-app.com/callback',
firstScreen: 'identifier:register',
identifier: ['email', 'phone'],
loginHint: 'example@logto.io',
});