TokenToSea开发者文档
控制台

TokenToSea 登录概览

基于 OAuth 2.0 与 OpenID Connect 的「用 TokenToSea 登录」:识别用户身份,并在用户设定的预算内代用户调用工具与模型服务。

本页内容

「TokenToSea 登录」让第三方应用:

  1. 识别用户:用户用 TokenToSea 账号登录你的应用,你得到稳定的用户标识(OIDC sub)和经用户同意的资料。
  2. 代用户调用:用户授权后,你的应用用访问令牌调用 TokenToSea 的工具与模型服务,费用从用户自己的余额扣除,并受用户设定的累计预算与单次上限约束。

协议是标准的 OAuth 2.0 授权码模式 + PKCE(S256),并实现 OpenID Connect 的 ID Token 与 UserInfo。

地址#

Issuer:https://tokentosea.com/api/oauth

用途地址
发现文档GET https://tokentosea.com/api/oauth/.well-known/openid-configuration
授权GET https://tokentosea.com/api/oauth/authorize
令牌(换取 / 刷新)POST https://tokentosea.com/api/oauth/token
用户信息GET https://tokentosea.com/api/oauth/userinfo
签名公钥(JWKS)GET https://tokentosea.com/api/oauth/jwks
撤销POST https://tokentosea.com/api/oauth/revoke
委托接口https://tokentosea.com/api/v1/connect/*,见委托接口

协议细节见 OAuth 与 OIDC。

权限范围#

scope授予的能力
openid签发 ID Token,允许调用 UserInfo
profileID Token / UserInfo 中包含 name、preferred_username
email包含 email、email_verified(账号有邮箱时)
offline_access签发刷新令牌
tools:read读取工具目录、操作与本授权产生的工具调用记录
tools:invoke代用户调用工具(产生费用)
models:read读取委托模型目录与本授权产生的调用记录
models:invoke代用户调用委托模型(产生费用)
wallet:read读取用户的可用余额
grant:limits由应用读取并修改本授权的预算与单次上限

应用登记时声明可申请的 scope;每次授权请求只能申请其中的一部分。用户在授权页可以取消勾选个别 scope(请求了 openid 时它不能被取消),因此请以令牌响应中的 scope 为准。

预算#

当授权包含 tools:invoke 或 models:invoke 时,用户在授权页设置两个金额(美元):

金额规则
累计预算 budgetUsd本授权可花费的总额,授权时最多 USD 1000
单次上限 perCallUsd单次调用的最高费用,最多 USD 100,且不超过累计预算

每次调用先按最高可能费用预留在授权上,完成后按实际费用结算。预留会使「剩余 = 预算 − 已花费 − 处理中」减少,工具与模型共用同一个授权预算,并发调用也不能突破上限。超出时返回 409 oauth_budget_exceeded。用户可以在 控制台 → 开发者生态 → 已授权应用 随时修改或撤销;持有 grant:limits 的应用也可以通过接口修改(预算最多为已花费与处理中金额之和再加 USD 1000)。

不含付费 scope 的授权预算为 0,只能执行免费操作。

令牌与授权的有效期#

对象有效期
授权码60 秒,只能使用一次(重复使用会撤销整个授权)
访问令牌 tts_at_…最长 15 分钟
刷新令牌 tts_rt_…仅在授予 offline_access 时签发;每次刷新都换发新的刷新令牌,旧令牌立即失效,重复使用会撤销整个授权
授权30 天;每次成功刷新后顺延到 30 天后,连续 30 天未刷新即失效
ID Token15 分钟(只用于登录时验证身份)

以下情况会立即终止授权:用户撤销授权;应用被停用;应用重置客户端密钥(撤销该应用的全部授权);用户账号被停用;用户修改密码或多因素认证;用户离开授权时所在的工作区。已经开始的调用仍按已预留的预算结算。

登记应用#

在 控制台 → 开发者生态 → 我的应用 新建应用:

字段要求
名称2–80 个字符,显示在授权页
简介10–1000 个字符,显示在授权页
网站必须是 https:// 地址
回调地址1–8 个,按字符串精确匹配。必须是 https://;本机开发可用 http://localhost、http://127.0.0.1、http://[::1]。不能包含 # 片段、用户名密码,或 code、state、error、iss 查询参数
权限范围从上表中选择
客户端类型公共客户端(单页应用、移动端、桌面端:无客户端密钥,只靠 PKCE)或机密客户端(有后端服务:另有客户端密钥)

机密客户端的密钥 tts_cs_… 只在创建或重置时显示一次,平台只保存摘要。每个账号最多同时保留 20 个启用中的应用。应用默认是私有的;可以申请在生态目录中展示,经平台审核后公开。

委托接口能调用什么#

能力委托接口说明
工具可以与工具 API 相同的已接通工具
模型部分只覆盖模型市场中由卖家发布、经平台审核的对话服务(/api/v1/connect/chat/completions)
官方直供模型(api.tokentosea.com)不可以图像、视频、语音、System One 等官方型号需要用户自己的 API Key,不能通过 OAuth 令牌调用

OAuth 访问令牌只能用于 /api/v1/connect/* 与 UserInfo,不能访问控制台、管理后台或 api.tokentosea.com。

不支持的功能#

隐式模式、密码模式、client_credentials、动态客户端注册、静默授权(prompt=none)均不支持;max_age、acr_values、id_token_hint、claims、非 query 的 response_mode 会被明确拒绝,而不是被忽略。本实现未经过 OpenID 官方一致性认证。

下一步#

    输入关键词搜索全部文档与模型。