# 连接到去中心化网络

By [fma087218](https://paragraph.com/@fma087218) · 2024-01-10

---

您可以使用 Web3 身份验证直接连接到 Space and Time 的去中心化网络，这是一种专为需要最高级别安全性和灵活性的开发人员设计的方法。身份验证机制基于公钥加密，特别是使用 ED25519 签名。在此方法中，您负责生成和管理您自己的公钥/私钥对，确保敏感私钥在您的客户端计算机上保持安全。

身份验证过程依赖于 JWT（JSON Web 令牌）的使用，为管理会话和维护客户端-服务器交互之间的状态提供可靠的方法。这些令牌与 ED25519 签名方案一起构成了身份验证过程的核心，为开发人员进行身份验证并与去中心化网络交互提供了安全、可靠且简单的方法。

您可以使用以下接口直接连接到空间和时间网络：

时空工作室（使用您的 Web3 钱包） REST API（使用访问令牌） 命令行界面 软件开发工具包 直接来自文档 数据库连接 如果您选择使用 Web3 钱包登录 Space and Time Studio，只需点击几下即可简单。要通过上述任何其他接口进行连接，您需要牢记以下注意事项：

基本考虑因素 选择唯一的用户标识符 访问该平台时，您需要创建一个全球唯一的用户标识符 ( )，这意味着空间和时间中其他任何人都不会使用该标识符。请务必记下您选择的内容。每次使用 Space and Time 进行身份验证时都会使用它。userIduserId

生成公钥/私钥对 Web3 身份验证基于公钥加密，这意味着您需要一对公钥/私钥（和）。此过程的要点是您向平台请求挑战并使用您的. 平台会验证您的签名的有效性。publicKeyprivateKeyprivateKeypublicKey

🚧 请注意，您的文件永远不应以任何理由与任何人共享，并且将始终保留在您的计算机上。您的信息存储在平台中并且可以安全地共享。privateKeypublicKey

计算签名 生成有效签名证明您拥有自己的身份。

要计算，您需要访问您的密钥并了解用于生成签名的适当密钥算法。一般来说，它应该看起来像这样：signatureprivateKey

// Sign the challenge with your private key var signature = privateKey.sign(authCode); 刷新会话 如果您已成功通过平台进行身份验证，并且现在想知道如果您的会话在半小时后过期，您的会话如何能够持续 24 小时，请不要担心！您所要做的就是刷新您的会话。确保在刷新令牌过期之前刷新会话（否则，您将必须执行正常的身份验证工作流程）。accessTokenrefreshToken

几个要点：

经过身份验证的会话最多持续 24 小时，此时用户必须重新进行身份验证。 25 分钟后过期。accessToken 30 分钟后过期。refreshToken 有关公钥/私钥身份验证的更多信息 本节包含有关身份验证如何在空间和时间中工作的额外信息。

关键关联 注册和认证的一个主要区别与用户标识符 ( ) 和公钥之间的关联有关。在注册过程中，平台不知道用户或用户的公钥。因此，当请求令牌时，用户必须提供公钥以及密钥方案（即要使用的算法）。userId

注册成功后，平台将存储给定的公钥和密钥方案，并将它们与用户的标识符相关联。今后，用户必须仅在Token Request API中提供公钥，因为可以从存储中检索该方案。这样做的另一个好处是，将根据用户的关联公钥检查请求中提供的公钥，从而防止恶意行为者将新的公钥与现有用户关联。

密钥管理 首次在平台注册时，您必须选择一种支持的算法（如下所述）。但是，您不会被单一的密钥对或算法所困扰！每个用户都有一个存储在平台中的钥匙串，其中可以包含任意数量的有效公钥及其相关算法。

向钥匙串添加新密钥非常简单，与身份验证工作流程类似。您请求质询，使用新私钥对其进行签名，然后提交请求以将新公钥添加到带有签名的钥匙串中。

查看我们的密钥管理 API，了解如何与您的钥匙串交互。

关键算法 目前平台支持以下基于签名的认证算法：

ED25519 - 用于构建空间和时间应用程序 以太坊钱包 - 用于访问空间和时间 可以通过以下属性来指定令牌请求 API中的算法：

key- 用于验证签名的公钥 scheme- 验证签名时使用的算法 对于 ED25519 签名验证，请提供以下信息：

key：您的 ED25519 公钥 scheme:"ed25519" 对于以太坊钱包签名验证，请提供以下信息：

key：你的钱包地址 scheme：以太坊链ID（具体参见EIP-155

---

*Originally published on [fma087218](https://paragraph.com/@fma087218/CEgdr4HcKcghTtBNH2RP)*
