Auth0 ACUL 反应 SDK

使用 Auth0 通用登录的开发者可以使用这个 React SDK 来自定义诸如登录,注册,或重置密码等屏幕. 它提供钩子,上下文,和公用设施,以构建与你的品牌相匹配的灵活,类型安全的经验,并提供无缝的用户体验.
页:1
开始
先决条件
在开始前,确保您有以下设置:
- 自定义域: 确保为您的 Auth0 租户配置自定义域 .
- 屏幕配置: 在您的 Auth0 流中设置所需的认证屏幕 .
关于详细步骤,请参见 配置 ACUL 屏幕。 。 。 .
安装
npm install @auth0/auth0-acul-react
同伴依赖 :
npm install react
导入 SDK
SDK 支持 partial imports 对于每个屏幕,允许您只包含您特定使用大小写所需的代码。 这有助于保持你的捆绑尺寸并改进性能.
而且,你可以使用一个 root import 如果您的应用程序需要, 可以装入单个捆绑的所有屏幕 .
部分导入
每个屏幕都有自己的一套钩子和方法. 您只能导入您正在建设的屏幕所需的内容 .
以下示例显示如何导入和使用 SDK 构建 login-id 屏幕.
import {
// Context hooks
useUser,
useTenant,
useBranding,
useClient,
useOrganization,
usePrompt,
useScreen,
useTenant,
useTransaction,
useUser,
useUntrustedData,
// Common hooks
useErrors,
useTexts,
// Utility hooks
useUsernameValidation,
usePasswordValidation,
useLoginIdentifiers,
// Submit methods
login,
passkeyLogin,
federatedLogin,
} from '@auth0/auth0-acul-react/login-id';
根导入
SDK也支持根导入,这样可以让您从一捆装入所有屏幕. 如果您的应用程序根据当前 Auth0 流量在运行时动态地使不同的屏幕运行,例如,当您想要一个能够处理所有可能屏幕的统一构建时,此功能是有用的 .
但对于大多数项目来说. 如果您只需要特定的屏幕, 请使用部分导入来改进性能 .
import {
// Common hooks
useCurrentScreen,
useAuth0Themes,
useErrors,
// Screen-specific hooks for multiple screens
useLoginId,
useSignupId,
useResetPassword
} from '@auth0/auth0-acul-react';
类型/ 接口
类型和接口可以从 @auth0/auth0-acul-react/types 安全型和更好的DX.
import type {
Connection,
CustomOptions,
IdentifierType,
Organizations,
EnrolledDevice
// ...other types
} from '@auth0/auth0-acul-react/types';
参考我们 API 参考 对于可用的类型和接口的完整列表.
API 参考
屏幕
| 没有. | 提示 | 屏幕名称 | 文档链接 |
|---|---|---|---|
| 1个 | 登录 | 登录 | 链接 |
| 2个 | 登录编号 | 登录编号 | 链接 |
| 3个 | 登录密码字 | 登录密码字 | 链接 |
| 页:1 | 注册编号 | 注册编号 | 链接 |
| 页:1 | 注册密码 | 注册密码 | 链接 |
探索更多屏幕...
| 没有. | 提示 | 屏幕名称 | 文档链接 |
|---|---|---|---|
| 6个 | 无密码登录 | 登录无密码电子邮件编码 | 链接 |
| 第7条 | 无密码登录 | 登录无密码- sms- otp | 链接 |
| 第8条 | 密码 | 钥匙注册 | 链接 |
| 第9条 | 密码 | 密码录入- 本地 | 链接 |
| 10个 | 电话识别器注册 | 电话识别器注册 | 链接 |
| 第11个 | 电话识别-质疑 | 电话识别-质疑 | 链接 |
| 第12条 | 电子邮件识别器质疑 | 电子邮件识别器质疑 | 链接 |
| 第13条 | 夹克 | 间歇式控制 | 链接 |
| 页:1 | 重置密码字 | 重置密码电子邮件 | 链接 |
| 15个 | 重置密码字 | 重置密码字请求 | 链接 |
| 16个 | 重置密码字 | 重置密码字 | 链接 |
| 页:1 | 重置密码字 | 重置密码 | 链接 |
| 第 18 条 | 重置密码字 | 重置密码- 成功 | 链接 |
| 第 19 条 | 注册 | 注册 | 链接 |
| 20国 | 玛法 | mfa- detect-浏览器能力 | 链接 |
| 21国 | 玛法 | mfa 滚动结果 | 链接 |
| 22个 | 玛法 | mfa - 开始滚动 - 选项 | 链接 |
| 第23条 | 玛法 | mfa 登录选项 | 链接 |
| 24个 | 闪电 | mfa-push-enrollment-qr (法语) | 链接 |
| 第25条 | 闪电 | 法-普-欢迎 | 链接 |
| 第 26 条 | 闪电 | mfa-push-挑战-push | 链接 |
| 27个 | 闪电 | 缩写列表 | 链接 |
| 第28条 | mfa-sms (英语) | mfa 国家代码 | 链接 |
| 29个 | mfa-sms (英语) | mfa - sms - 挑战 | 链接 |
| 30个 | mfa-sms (英语) | mfa - sms - 注册 | 链接 |
| 31个 | mfa-sms (英语) | mfa - sms - 列表 | 链接 |
| 第32条 | 电子邮件 | 电子邮件挑战 | 链接 |
| 33个 | 电子邮件 | 电子邮件列表 | 链接 |
| 页:1 | 维塔蒂诺 | 接受邀请 | 链接 |
| 35个 | 组织 | 组织选择者 | 链接 |
| 第36条 | 组织 | 组织选择 | 链接 |
| 页:1 | 重置密码字 | mfa-otp-挑战 | 链接 |
| 第38条 | 缩写 | mfa-otp- 注册码 | 链接 |
| 页:1 | 缩写 | mfa-otp-enrollment-qr (法语) | 链接 |
| 第40条 | 重置密码字 | 重置密码-mfa-电子邮件-质疑 | 链接 |
| 第41条 | 重置密码字 | 重置- 密码- mfa- push- 挑战- push | 链接 |
| 第42条 | 重置密码字 | mfa - sms - 挑战 | 链接 |
| 第43条 | 重置密码字 | 重置密码- mfa- otp- 挑战 | 链接 |
| 第44条 | 麦克风 | 移动电话注册 | 链接 |
| 第45条 | mfa 语音 | mfa 语音注册 | 链接 |
| 第46条 | mfa - 恢复代码 | mfa-恢复-代码挑战 | 链接 |
| 第47条 | 设备流量 | 设备编码-激活-分配 | 链接 |
| 第48条 | 设备流量 | 设备编码-激活-拒绝 | 链接 |
| 第49条 | 设备流量 | 设备编码激活 | 链接 |
| 第50条 | 重置密码字 | 重置密码-mfa-回收-代码-挑战 | 链接 |
| 51国 | 重置密码字 | 重置密码- mfa- voice | 链接 |
| 第52条 | 常见 | 赎回盘 | 链接 |
| 第53条 | 设备流量 | 设备编码确认 | 链接 |
| 页:1 | 麦克风 | 手机挑战 | 链接 |
| 第55条 | mfa 语音 | mfa - 语音挑战 | 链接 |
| 页:1 | mfa - 恢复代码 | mfa - 恢复- 代码注册 | 链接 |
| 页:1 | 重置密码字 | 重设密码-mfa-手机挑战 | 链接 |
| 页:1 | mfa - 恢复代码 | mfa - 恢复 - 代码 - 挑战 - 新代码 | 链接 |
| 59国 | 登录 | 登录 | 链接 |
| 页:1 | 登录 | 已注销 | 链接 |
| 页:1 | 登录 | 登录完成 | 链接 |
| 第62条 | 电子邮件核查 | 电子邮件核查结果 | 链接 |
| 页:1 | 登录电子邮件核查 | 登录电子邮件核查 | 链接 |
| 64国道 | mfa-webauthn (英语) | mfa-webauthn-平台的注册 | 链接 |
| 65个 | mfa-webauthn (英语) | mfa-webauthn-error (英语) | 链接 |
| 页:1 | mfa-webauthn (英语) | mfa-webauthn-roaming-information 互联网档案馆的存檔,存档日期2013-12-02 | 链接 |
| 67国道 | mfa-webauthn (英语) | mfa-webauthn-roamming-挑战 | 链接 |
| 68国 | mfa-webauthn (英语) | mfa-webauthn-平台-挑战 | 链接 |
| 第69条 | mfa-webauthn (英语) | mfa-webauthn - 注册 - 成功 | 链接 |
| 70个 | mfa-webauthn (英语) | mfa-webauthn-change-key-昵称 | 链接 |
| 页:1 | mfa-webauthn (英语) | mfa -webauthn - 不可用 - 错误 | 链接 |
| 72国 | 重置密码字 | 重置密码-mfa-webauthn-平台-挑战 | 链接 |
| 73国 | 重置密码字 | 重设密码-mfa-webauthn-roaming-challenge(英语: | 链接 |
| 第74条 | 同意书 | 同意书 | 链接 |
| 第75条 | 定制同意 | 定制同意 | 链接 |
| 第76条 | 电子邮件 | 电子邮件 | 链接 |
| 77国 | 确认 | 确认 | 链接 |
| 78国 | 同意书 | 尚待同意 | 链接 |
钩子
上下文钩 (在所有屏幕中都可用)
useUser()- 当前用户信息useTenant()- 租户配置useClient()- 应用程序客户端信息useScreen()- 当前屏幕数据和配置useTransaction()- 交易状态和方法useBranding()- 租户品牌和主题useOrganization()- 组织背景(如适用)usePrompt()- 当前认证提示useUntrustedData()- 来自认证流程的不信任数据useExperiment()- 当前屏幕的主动实验中心实验(experimentId, (中文(简体) ),variationId, (中文(简体) ),variationName, (中文(简体) ),variationDescription, (中文(简体) ),config, (中文(简体) ),isControl),或null当没有实验活动或屏幕没有选择通过context_configuration
在特定屏幕上可用
useCountryCodes()- 可用的电话国家代码和建议的默认值。 只从login, (中文(简体) ),login-id, (中文(简体) ),signup,以及signup-id。 。 。 .
工具钩
用于形式验证、投票和标识管理的专门钩:
标识管理
useLoginIdentifiers()- 获取可用的登录标识类型(电子邮件、电话、用户名)useSignupIdentifiers()- 获得可用的注册标识类型,每个类型都有其required状态
表格验证
usePasswordValidation(password, rules)- 实时密码强度验证useUsernameValidation(username)- 用户名格式和可用性验证
外交部投票
useMfaPolling(options)- 管理外务省推动通知投票周期(以及投票同意结果)pending-consent(中文(简体) )useResend(options)- 用冷却计时器处理再发送操作
常见钩子
所有屏幕上可用的通用钩:
屏幕管理
useCurrentScreen()- 获得完整的当前屏幕上下文数据useAuth0Themes()- 登录租户品牌和主题配置
处理错误
useErrors(options)- 有分类的全面错误管理- 通过出错类型过滤 :
'validation', (中文(简体) ),'auth0', (中文(简体) ),'configuration' - 通过字段名称过滤窗体特定错误
- 个别解雇或所有错误
- 通过出错类型过滤 :
屏幕特定行动方法
每个屏幕模块导出屏幕动作的方法 :
// Login ID Screen
import {
loginMethod,
continueWithFederatedLogin
} from '@auth0/auth0-acul-react/login-id';
// Password Screen
import {
loginMethod,
forgotPasswordMethod
} from '@auth0/auth0-acul-react/login-password';
// MFA Push Challenge
import {
continueMethod,
resendPushNotification,
useMfaPolling
} from '@auth0/auth0-acul-react/mfa-push-challenge-push';
实例
* 反馈
捐款
我们赞赏反馈和对这次再投资的贡献! 在开始前,请参看以下内容:
提出问题
请提供反馈或报告错误 提出我们的问题追踪器。 。 。 .
脆弱性报告
请不要在公共 GitHub 问题跟踪器上报告安全漏洞 。 这个 负责任的披露程序 详细说明披露安全问题的程序.
Auth0是一个易于执行,可适应的认证和授权平台. 学习更多退房 为什么是Auth0?
这个项目根据麻省理工学院的许可证获得许可。 见 自由主义 需要更多信息的文件.