连接到去中心化网络

您可以使用 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