连接到去中心化网络

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

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

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

sxt studio(使用您的 Web3 钱包)

REST APIS(使用访问令牌)

基本考虑因素

选择唯一的用户标识符

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

生成公钥/私钥对

Web3 身份验证基于公钥加密,这意味着您需要一对公钥/私钥( publicKey 和 privateKey )。此过程的要点是您向平台请求挑战并使用您的 privateKey 计算签名。平台使用您的 publicKey 验证签名的有效性。

计算签名

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

要计算 signature ,您需要有权访问您的 privateKey 并了解用于生成签名的适当密钥算法。一般来说,它应该看起来像这样:

// Sign the challenge with your private key

var signature = privateKey.sign(authCode); 

刷新会话

如果您已成功通过平台进行身份验证,并且现在想知道如果您的 accessToken 和 refreshToken 均在半小时后过期,您的会话如何能够持续 24 小时,请不要担心!您所要做的就是刷新您的会话。确保在刷新令牌过期之前刷新会话(否则,您将必须执行正常的身份验证工作流程)。

几个要点:

经过身份验证的会话最多持续 24 小时,此时用户必须重新进行身份验证。

accessToken 在 25 分钟后过期。

refreshToken 在 30 分钟后过期。

有关公钥/私钥身份验证的更多信息

本节包含有关身份验证如何在空间和时间中工作的额外信息。

关键关联

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

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

密钥管理

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

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

关键算法

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

key - 用于验证签名的公钥

scheme - 验证签名时使用的算法

对于 ED25519 签名验证,请提供以下信息:

key :您的 ED25519 公钥

scheme"ed25519"

对于以太坊钱包签名验证,请提供以下信息:

key: your wallet address

scheme :以太坊链 ID(具体请参阅 EIP-155)

Subscribe to azureblue
Receive the latest updates directly to your inbox.
Mint this entry as an NFT to add it to your collection.
Verification
This entry has been permanently stored onchain and signed by its creator.