---
title: Go SDK
description: 使用官方 Sudomimus Go token module，并了解当前覆盖范围。
editUrl: true
head: []
template: doc
sidebar:
  order: 5
  hidden: false
  attrs: {}
pagefind: true
draft: false
---

import { CardGrid, LinkCard } from "@astrojs/starlight/components";
import SdkCapabilityTable from "../../../../components/SdkCapabilityTable.astro";

Go SDK 当前提供 token 解析与验证。在 Connect、Session、Device 或 Native 客户端可用之前，请通过 API 参考直接调用对应的 HTTP 接口。

## 包

<SdkCapabilityTable language="go" locale="zh-cn" />

module path 包含主版本号：

```go
import "github.com/sudomimus/sudomimus-go/v4/token"
```

在上表将 module 标记为**已发布**之前，请从本地检出的 SDK 仓库使用它，不要假设公开的带标签 module 已经可用。

## Token 验证

根据 token 的 `kid` 从 `GET /applications/{applicationAnchor}/jwks.json` 选择密钥，按照 `Cache-Control` 缓存 JWK Set，并在遇到未知 `kid` 时刷新一次。信任 payload 之前必须验证签名、issuer、audience、token type 和时间相关 claims。

离线验证无法感知之后发生的 logout 或权限变化。操作需要实时 session 状态时，应调用 Session `/introspect`。

## 源码

<CardGrid>
<LinkCard title="Go SDK" description="Module 源码、测试与 README。" href="https://github.com/sudomimus/sudomimus/tree/master/sdks/go" />
<LinkCard title="Session API" description="JWK Set、introspection 与 session 生命周期 wire contract。" href="/zh-cn/api/session/" />
</CardGrid>