# 开始使用访问令牌（去中心化网络）

By [ma1984.eth](https://paragraph.com/@ma1984) · 2024-01-13

---

直接连接到去中心化网络可以实现最大的灵活性、控制力和 Web3 体验。

Space and Time 在去中心化网络上运行，因此直接向该网络进行身份验证可以让开发人员获得最大程度的控制、灵活性和速度，而无需信任任何中心化中介。权衡是您必须在本地管理加密密钥并为每个请求证明身份验证和授权。

> 📘
> --
> 
> 访问令牌是核心连接类型 - 所有其他连接类型只是访问令牌工作流程的包装器或抽象。

这些说明解释了如何使用我们的 REST API 直接连接到 Space and Time 网络并进行身份验证。

最简单的身份验证方法：CLI
==============

虽然您可以使用以下工作流程手动对空间和时间网络进行身份验证，但考虑到您必须签署并返回所有所需信息的 30 秒安全超时，这有点困难。我们建议完成[CLI 工作流程](https://docs.spaceandtime.io/docs/sxtcli)，它将提供创建新用户 ID 和密钥对的步骤。以下工作流程最适合已注册并希望开始在 SxT 上构建应用程序的用户。

这些文档中的大多数示例都利用[SxT CLI](https://docs.spaceandtime.io/docs/sxtcli)并假设所有机密都保存在[.env 文件](https://docs.spaceandtime.io/docs/dotenv)中。

> 🚧
> --
> 
> 始终将您的私钥保存在安全的地方。如果您丢失了私钥，您将无法以该用户 ID 进行身份验证。为了安全起见，您可以[将新的密钥对添加到您的用户 ID 的密钥环中](https://docs.spaceandtime.io/reference/add-key-to-keychain)，并存储第二个密钥作为备份。

如何使用 API 进行网络身份验证
=================

先决条件
----

要完成此工作流程，您将需要：

*   空间[和时间 UserID ，使用一个或多个](https://docs.spaceandtime.io/docs/new-user#need-apis--add-a-new-publicprivate-keypair-to-the-user)ED25519公钥创建。最简单的方法是遵循[CLI 工作流程](https://docs.spaceandtime.io/docs/sxt-cli)。
    
*   使用匹配的ED25519私钥对挑战令牌进行加密签名的机制
    

身份验证工作流程：
---------

去中心化身份验证模型建立在传统的质询/响应模型之上，用户或应用程序请求并使用本地私钥签署质询令牌，如果网络可以使用公钥进行验证，则颁发访问令牌。下面是该调用/质询/响应工作流程的地图，其中本地加密签名工作以**粗体显示**：

**本地节目去中心化网络**为特定用户 ID[请求质询令牌](https://docs.spaceandtime.io/reference/authentication-code)生成与用户 ID 存储的公钥关联的质询令牌 - 有效期 30 秒**使用 UserID 的私钥对质询令牌进行签名，并将**[**签名的质询返回**](https://docs.spaceandtime.io/reference/token-request)**到网络使用用户 ID 的公钥验证本地私钥，并返回访问令牌（25 分钟会话）和刷新令牌（30 分钟超时）以简化会话刷新在刷新令牌超时之前的任何时间，都可以**[**请求刷新的访问令牌**](https://docs.spaceandtime.io/reference/token-refresh)**，该令牌再次附带新的刷新令牌任何已活动 24 小时的会话都会被终止，强制进行完整的重新身份验证**

> 🚧
> --
> 
> 访问令牌是您的网络会话。切勿共享或失去对您的访问令牌的控制，因为这将允许其他人像您一样向空间和时间网络发出命令。

如何终止会话
======

您可以随时通过调用简单的[注销 API](https://docs.spaceandtime.io/reference/logout)来请求终止会话，这将立即使您退出所有会话。

---

*Originally published on [ma1984.eth](https://paragraph.com/@ma1984/ANGutsmL527njbbu3MI5)*
