{"schemaVersion":"drillso.agent.session.v1","scope":"node","resource":{"type":"shared-session","shareId":"B_Qh5EPwQq0l","title":"API Key 和 Bearer Token 是什么，有啥区别？","canonicalUrl":"https://drillso.com/en/share/sessions/B_Qh5EPwQq0l/api-key-2dd4c65c","agentUrl":"https://drillso.com/en/share/sessions/B_Qh5EPwQq0l/agent.json?node=api-key-2dd4c65c","ownerName":"pyth0nb3st","updatedAt":"2026-04-28T10:23:26.413Z"},"currentNode":{"id":"2dd4c65c-5b68-4ab8-b413-57d631f4fb9b","slug":"api-key-2dd4c65c","title":"API Key","type":"quiz","url":"https://drillso.com/en/share/sessions/B_Qh5EPwQq0l/api-key-2dd4c65c","agentUrl":"https://drillso.com/en/share/sessions/B_Qh5EPwQq0l/agent.json?node=api-key-2dd4c65c","text":"Q: API Key 最主要的作用通常是什么？\n  - 识别调用 API 的应用或开发者，并进行基础访问控制\n  - 表示某个用户已经完成登录并获得授权\n  - 对请求内容进行加密，防止传输被窃听\n  - 自动刷新用户会话，避免重新登录\n\nQ: 下面哪一项最符合 API Key 的典型特点？\n  - 通常生命周期较短，并包含用户授权范围\n  - 通常是平台分配的一串固定字符串，用于标识调用方\n  - 必须放在 Authorization: Bearer 头中使用\n\nQ: 为什么说 API Key 不太适合表达“某个具体用户已经授权”？\n  - 因为 API Key 只能在浏览器中使用，不能用于服务端\n  - 因为 API Key 通常主要标识应用或调用方，而不是用户登录后的授权状态\n  - 因为 API Key 会自动失效，无法保持用户会话\n  - 因为 API Key 只能用于公开接口，不能用于受保护资源","markdown":"# API Key\n\nQ: API Key 最主要的作用通常是什么？\n  - 识别调用 API 的应用或开发者，并进行基础访问控制\n  - 表示某个用户已经完成登录并获得授权\n  - 对请求内容进行加密，防止传输被窃听\n  - 自动刷新用户会话，避免重新登录\n\nQ: 下面哪一项最符合 API Key 的典型特点？\n  - 通常生命周期较短，并包含用户授权范围\n  - 通常是平台分配的一串固定字符串，用于标识调用方\n  - 必须放在 Authorization: Bearer 头中使用\n\nQ: 为什么说 API Key 不太适合表达“某个具体用户已经授权”？\n  - 因为 API Key 只能在浏览器中使用，不能用于服务端\n  - 因为 API Key 通常主要标识应用或调用方，而不是用户登录后的授权状态\n  - 因为 API Key 会自动失效，无法保持用户会话\n  - 因为 API Key 只能用于公开接口，不能用于受保护资源","structured":{"questions":[{"options":[{"text":"识别调用 API 的应用或开发者，并进行基础访问控制","isCorrect":true,"explanation":"API Key 通常由服务端分配给客户端，用来识别谁在调用 API，并常用于配额、限流和基础鉴权。"},{"text":"表示某个用户已经完成登录并获得授权","isCorrect":false,"explanation":"这更符合 Bearer Token 的典型用途，而不是 API Key。"},{"text":"对请求内容进行加密，防止传输被窃听","isCorrect":false,"explanation":"API Key 不是加密机制；传输安全通常依赖 HTTPS/TLS。"},{"text":"自动刷新用户会话，避免重新登录","isCorrect":false,"explanation":"自动刷新通常与 token 刷新机制有关，不是 API Key 的核心作用。"}],"question":"API Key 最主要的作用通常是什么？","difficulty":"easy"},{"options":[{"text":"通常生命周期较短，并包含用户授权范围","isCorrect":false,"explanation":"这更像 Bearer Token 的常见特点。"},{"text":"通常是平台分配的一串固定字符串，用于标识调用方","isCorrect":true,"explanation":"API Key 往往是分配给应用或开发者的唯一字符串，用于识别调用来源。"},{"text":"必须放在 Authorization: Bearer 头中使用","isCorrect":false,"explanation":"API Key 不一定放在 Authorization: Bearer 中，常见位置包括自定义 Header、Query 或 Body。"}],"question":"下面哪一项最符合 API Key 的典型特点？","difficulty":"easy"},{"options":[{"text":"因为 API Key 只能在浏览器中使用，不能用于服务端","isCorrect":false,"explanation":"API Key 并不限于浏览器，常见于服务对服务调用。"},{"text":"因为 API Key 通常主要标识应用或调用方，而不是用户登录后的授权状态","isCorrect":true,"explanation":"API Key 更偏向识别客户端或开发者，通常难以细粒度表达某个用户已经登录并授予了哪些权限。"},{"text":"因为 API Key 会自动失效，无法保持用户会话","isCorrect":false,"explanation":"恰恰相反，API Key 往往生命周期较长，并非自动快速失效。"},{"text":"因为 API Key 只能用于公开接口，不能用于受保护资源","isCorrect":false,"explanation":"API Key 也可用于受保护接口，只是权限表达和安全能力通常较基础。"}],"question":"为什么说 API Key 不太适合表达“某个具体用户已经授权”？","difficulty":"medium"}]},"children":[]},"breadcrumbs":[{"id":"37cc254f-9d7d-4893-a45a-b72b31f0d63c","slug":"api-key-和-bearer-token-是什么，有啥区别？-37cc254f","title":"API Key 和 Bearer Token 是什么，有啥区别？","type":"page","url":"https://drillso.com/en/share/sessions/B_Qh5EPwQq0l/api-key-%E5%92%8C-bearer-token-%E6%98%AF%E4%BB%80%E4%B9%88%EF%BC%8C%E6%9C%89%E5%95%A5%E5%8C%BA%E5%88%AB%EF%BC%9F-37cc254f","agentUrl":"https://drillso.com/en/share/sessions/B_Qh5EPwQq0l/agent.json?node=api-key-%E5%92%8C-bearer-token-%E6%98%AF%E4%BB%80%E4%B9%88%EF%BC%8C%E6%9C%89%E5%95%A5%E5%8C%BA%E5%88%AB%EF%BC%9F-37cc254f"}],"parent":{"id":"37cc254f-9d7d-4893-a45a-b72b31f0d63c","slug":"api-key-和-bearer-token-是什么，有啥区别？-37cc254f","title":"API Key 和 Bearer Token 是什么，有啥区别？","type":"page","url":"https://drillso.com/en/share/sessions/B_Qh5EPwQq0l/api-key-%E5%92%8C-bearer-token-%E6%98%AF%E4%BB%80%E4%B9%88%EF%BC%8C%E6%9C%89%E5%95%A5%E5%8C%BA%E5%88%AB%EF%BC%9F-37cc254f","agentUrl":"https://drillso.com/en/share/sessions/B_Qh5EPwQq0l/agent.json?node=api-key-%E5%92%8C-bearer-token-%E6%98%AF%E4%BB%80%E4%B9%88%EF%BC%8C%E6%9C%89%E5%95%A5%E5%8C%BA%E5%88%AB%EF%BC%9F-37cc254f"},"children":[],"fullTree":null,"warnings":[],"truncated":false}