> ## Documentation Index
> Fetch the complete documentation index at: https://docs.didit.me/llms.txt
> Use this file to discover all available pages before exploring further.

# React Native 快速入门

> 使用 Didit 在 React Native 中快速接入身份认证：托管登录、回调校验与安全会话，并链接至用户验证和持续监控。

> [!WARNING]
>
> 认证功能是新功能：**@didit-protocol/auth-react-native** 取决于发布版本。此处未确认其分发坐标、版本和可调用的函数签名。请勿安装猜测的软件包，也不要将身份验证 SDK 用作认证 SDK。

## 准备应用

1. 确认您的 Didit 应用已启用认证功能，并从控制台复制其登录来源（`https://<slug>.auth.didit.me`；沙盒环境为 `<slug>.sandbox.auth.didit.me`）。
2. 注册您的应用和运行时支持的精确回调 URL。验证应用链接的所有权；不要假设任意自定义 URL 方案都会被接受。
3. 将沙盒和生产环境的配置分开管理，包括回调处理和存储的凭证。
4. 在连接验证或监控之前，选择稳定的用户映射方式。

请分别为 iOS 和 Android 配置并测试回调链接。认证封装层独立于 @didit-protocol/sdk-react-native，后者负责验证功能。

## 实现托管流程

使用 `{origin}/sign-in` URL 打开原生系统认证浏览器。提供一个全新的随机 `state`、一个 S256 PKCE 挑战值以及您已注册的 `redirect_uri`。验证器（verifier）仅在本次认证尝试中保留在您的应用内。[JavaScript 快速入门](https://docs.didit.me/zh/authentication/quickstarts/javascript.md)介绍了底层协议；在原生代码中请使用平台加密和 URL 处理方式，而不是浏览器全局对象。

回调时，在 `token/` 处使用一次性代码交换令牌之前，请验证 state、事务生命周期和回调目标。交换时使用原始验证器和完全一致的 redirect URI。取消或关闭浏览器不算登录成功。

将刷新令牌存储在原生平台受保护的存储中；切勿存放在普通偏好设置文件、分析数据或崩溃日志中。使用终端用户的 Bearer token 通过 `GET session/` 验证当前会话。刷新操作需串行执行，两个令牌须同时替换，退出登录后清除用户相关的状态。有关请求约定和刷新令牌复用行为，请参阅 [令牌与 JWKS](https://docs.didit.me/zh/authentication/tokens-and-jwks.md)。

## 原生 SDK 发布预览

原生认证模块计划提供登录、获取当前会话、获取令牌、退出登录和增强验证功能，并具备自动设备信号。原生通行密钥和受保护的令牌存储也属于该版本的一部分。封装层 API 将遵循其已发布的平台约定；请勿从设计示例中复制猜测的构造函数参数或方法签名。

在模块发布之前，请保持其适配器处于禁用状态，或针对您已启用的应用，使用经过审查的托管协议实现。切勿仅凭安装软件包就宣传原生认证快速入门可以正常工作。

## 连接验证与监控

您的后端根据已通过认证的用户推导 `vendor_data`。它会为该用户创建验证会话或签发限定范围的监控令牌。只将会话凭证或限定范围的令牌返回给您的应用；API 密钥始终保留在服务器端。

需要身份验证功能时，请使用 [React Native 验证 SDK](https://docs.didit.me/zh/integration/native-sdks/react-native-sdk.md)。如需在您的平台上获得监控支持，请遵循 [SDK 交易提交](https://docs.didit.me/zh/transaction-monitoring/sdk-transaction-submission.md)。请将登录、验证和交易决策分开处理。

## 验证集成

测试冷启动后返回应用、应用的后台与前台切换、取消浏览器、回调不匹配、代码重放、令牌过期、并发刷新、多因素认证（MFA）、退出登录以及以其他用户身份登录。待该版本可用后，请在支持的设备上测试通行密钥的注册与登录。仅设备端检查在目标平台上运行之前，仍视为未验证。


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.