---
id: "zh/api-get-api-authorizebyjwt-do"
title: "认证接口二（免登录 JWT token 方式）"
language: "zh"
description: "GET /api/authorizeByJWT.do：认证接口二（免登录 JWT token 方式） 接口说明，包含路径、方法、参数和返回信息。"
canonical_url: "https://www.babel.cc/public/babelwiki/zh/api-get-api-authorizebyjwt-do.html"
markdown_url: "https://www.babel.cc/public/babelwiki/ai/zh/api-get-api-authorizebyjwt-do.md"
alternates: {"en": "https://www.babel.cc/public/babelwiki/ai/en/api-get-api-authorizebyjwt-do.md", "zh": "https://www.babel.cc/public/babelwiki/ai/zh/api-get-api-authorizebyjwt-do.md"}
reading_note: "文档记录不等于当前部署能力；以实际版本、授权模块与配置为准。保留原文的可选、限制及待确认说明，勿补猜接口。 / Documentation is not a guarantee for every deployment. Preserve optional-module requirements, limitations and unresolved API contracts."
---

# JWT 免登录授权

`GET /api/authorizeByJWT.do`

用于在已配置 JWT 信任关系的私有化环境中取得业务 API 授权码，不是文件访问接口，也不需要先有 Bearer access_token。

## URL 查询参数

| 参数 | 说明 |
| --- | --- |
| `response_type` | 必填，固定为 `code` |
| `client_id` | 必填，开发者应用 ID |
| `jwt_token` | 必填，携带开发者 `client_id` 信息，由可信服务端按约定声明结构和密钥生成的签名 JWT |
| `email` | 目标用户邮箱，与下面两个身份字段择一 |
| `phone` | 目标用户手机号 |
| `babelId` | 目标用户工号 |

原文允许不指定用户时使用企业管理员身份。**业务接入应明确指定目标用户，并验证调用者是否有权代表该用户，不能依赖省略身份的默认行为。**JWT 的签名验证并不等于载荷已加密。

## 返回与后续流程

当前部署的 `jwt_token` 解码后结构如下（应用 ID 及时间为示例值）：

```json
{
  "duration": 60,
  "payload": {"client_id": 1000000000001},
  "time": 1790000000000
}
```

开发者 ID 位于 `payload.client_id`，本次确认样例为数字；URL 查询参数 `client_id` 使用同一实际应用 ID。`time` 为生成 JWT 的 Unix 毫秒时间戳，`duration` 为 JWT 有效秒数，样例为 60 秒。目标用户仍通过查询参数 `email`、`phone` 或 `babelId` 指定，不能把网页登录的 `userToken` 直接当作此处的 `jwt_token`。

成功时取得 `success` 与授权码 `code`，再调用 [获取 Token](https://www.babel.cc/public/babelwiki/zh/api-post-api-token-do.html)，换取访问凭证 `access_token` 和刷新凭证 `refresh_token`。业务 API 使用 `Authorization: Bearer <access_token>` 传递已授权的用户身份。这里的 `code` 是授权码，不是普通业务接口中的数字错误码；Token 返回字段以获取 Token 页面为准。

JWT 声明结构、HS256 签名和部署密钥配置见[开发 API 概览](https://www.babel.cc/public/babelwiki/zh/developer-api-overview.html)。真实凭证不得记录到公开日志或前端代码。
