Update zh tw languages and fix some broken links (#455)

---------

Co-authored-by: silverwind <me@silverwind.io>
Co-authored-by: silverwind <2021+silverwind@noreply.gitea.com>
Reviewed-on: https://gitea.com/gitea/docs/pulls/455
Reviewed-by: silverwind <2021+silverwind@noreply.gitea.com>
This commit is contained in:
Lunny Xiao
2026-07-09 23:41:46 +00:00
parent c0f8a04185
commit 965c269495
652 changed files with 30864 additions and 30792 deletions

View File

@@ -8,11 +8,11 @@ aliases:
# OAuth2 提供者
Gitea 支作為 OAuth2 提供者,允第三方應用程在使用者同意的情况下访问其资源。此功能自 1.8.0 版起可用。
Gitea 支作為 OAuth2 提供者,允第三方應用程在使用者同意的情況下訪問其資源。此功能自 1.8.0 版起可用。
## 端
## 端
| 端 | URL |
| 端 | URL |
| ------------------------ | ----------------------------------- |
| OpenID Connect Discovery | `/.well-known/openid-configuration` |
| Authorization Endpoint | `/login/oauth/authorize` |
@@ -20,81 +20,81 @@ Gitea 支持作為 OAuth2 提供者,允许第三方應用程序在使用者同
| OpenID Connect UserInfo | `/login/oauth/userinfo` |
| JSON Web Key Set | `/login/oauth/keys` |
## 支的 OAuth2 授
## 支的 OAuth2 授
目前 Gitea 僅支 [**Authorization Code Grant**](https://tools.ietf.org/html/rfc6749#section-1.3.1) 标准,並外支以下展:
目前 Gitea 僅支 [**Authorization Code Grant**](https://tools.ietf.org/html/rfc6749#section-1.3.1) 標準,並外支以下展:
- [Proof Key for Code Exchange (PKCE)](https://tools.ietf.org/html/rfc7636)
- [OpenID Connect (OIDC)](https://openid.net/specs/openid-connect-core-1_0.html#CodeFlowAuth)
Authorization Code Grant 作為第三方應用程,您需要通過在设置中添加一新的 "應用程" (`/user/settings/applications`)。
Authorization Code Grant 作為第三方應用程,您需要通過在設定中添加一新的 "應用程" (`/user/settings/applications`)。
## 范围
## 範圍
Gitea 支以下令牌范围:
Gitea 支以下令牌範圍:
| 名稱 | 介 |
| 名稱 | 介 |
| ---------------------------------------- | --------------------------------------------------------------- |
| **(no scope)** | 授予公共使用者配置文件和公共存儲库的只读访问权限 |
| **repo** | 完全控制所有存儲库 |
| &nbsp;&nbsp;&nbsp; **repo:status** | 授予所有存儲库中提交状态的读/写访问权限 |
| &nbsp;&nbsp;&nbsp; **public_repo** | 僅授予对公共存儲库的读/写访问权限 |
| **admin:repo_hook** | 授予所有存儲库的 Hooks 访问权限,該限已包含在 `repo` 范围中 |
| &nbsp;&nbsp;&nbsp; **write:repo_hook** | 授予对存儲库 Hooks 的读/写访问权限 |
| &nbsp;&nbsp;&nbsp; **read:repo_hook** | 授予对存儲库 Hooks 的只读访问权限 |
| **admin:org** | 授予組織设置的完全访问权限 |
| &nbsp;&nbsp;&nbsp; **write:org** | 授予組織设置的读/写访问权限 |
| &nbsp;&nbsp;&nbsp; **read:org** | 授予組織设置的只读访问权限 |
| **admin:public_key** | 授予公管理的完全访问权限 |
| &nbsp;&nbsp;&nbsp; **write:public_key** | 授予对公钥的读/写访问权限 |
| &nbsp;&nbsp;&nbsp; **read:public_key** | 授予对公钥的只读访问权限 |
| **admin:org_hook** | 授予組織级别 Hooks 的完全访问权限 |
| **admin:user_hook** | 授予使用者级别 Hooks 的完全访问权限 |
| **notification** | 授予通知的完全访问权限 |
| **user** | 授予使用者个人资料信息的完全访问权限 |
| &nbsp;&nbsp;&nbsp; **read:user** | 授予使用者个人资料的读取权限 |
| &nbsp;&nbsp;&nbsp; **user:email** | 授予使用者电子邮件地址的读取权限 |
| &nbsp;&nbsp;&nbsp; **user:follow** | 授予访问权限以注/取消注使用者 |
| **delete_repo** | 授予删除存儲库的权限 |
| **package** | 授予对托管包的完全访问权限 |
| &nbsp;&nbsp;&nbsp; **write:package** | 授予包的读/写访问权限 |
| &nbsp;&nbsp;&nbsp; **read:package** | 授予包的读取权限 |
| &nbsp;&nbsp;&nbsp; **delete:package** | 授予包的删除权限 |
| **admin:gpg_key** | 授予 GPG 密管理的完全访问权限 |
| &nbsp;&nbsp;&nbsp; **write:gpg_key** | 授予 GPG 密钥的读/写访问权限 |
| &nbsp;&nbsp;&nbsp; **read:gpg_key** | 授予 GPG 密的只读访问权限 |
| **admin:application** | 授予應用程管理的完全访问权限 |
| &nbsp;&nbsp;&nbsp; **write:application** | 授予應用程管理的读/写访问权限 |
| &nbsp;&nbsp;&nbsp; **read:application** | 授予應用程管理的读取权限 |
| **sudo** | 允以站管理身份執行操作 |
| **(no scope)** | 授予公共使用者設定文件和公開儲存庫的只讀存取權限 |
| **repo** | 完全控制所有儲存庫 |
| &nbsp;&nbsp;&nbsp; **repo:status** | 授予所有儲存庫中提交狀態的讀/寫存取權限 |
| &nbsp;&nbsp;&nbsp; **public_repo** | 僅授予對公開儲存庫的讀/寫存取權限 |
| **admin:repo_hook** | 授予所有儲存庫的 Hooks 存取權限,該限已包含在 `repo` 範圍中 |
| &nbsp;&nbsp;&nbsp; **write:repo_hook** | 授予對儲存庫 Hooks 的讀/寫存取權限 |
| &nbsp;&nbsp;&nbsp; **read:repo_hook** | 授予對儲存庫 Hooks 的只讀存取權限 |
| **admin:org** | 授予組織設定的完全存取權限 |
| &nbsp;&nbsp;&nbsp; **write:org** | 授予組織設定的讀/寫存取權限 |
| &nbsp;&nbsp;&nbsp; **read:org** | 授予組織設定的只讀存取權限 |
| **admin:public_key** | 授予公管理的完全存取權限 |
| &nbsp;&nbsp;&nbsp; **write:public_key** | 授予對公鑰的讀/寫存取權限 |
| &nbsp;&nbsp;&nbsp; **read:public_key** | 授予對公鑰的只讀存取權限 |
| **admin:org_hook** | 授予組織級別 Hooks 的完全存取權限 |
| **admin:user_hook** | 授予使用者級別 Hooks 的完全存取權限 |
| **notification** | 授予通知的完全存取權限 |
| **user** | 授予使用者個人資料資訊的完全存取權限 |
| &nbsp;&nbsp;&nbsp; **read:user** | 授予使用者個人資料的讀取權限 |
| &nbsp;&nbsp;&nbsp; **user:email** | 授予使用者電子電子郵件地址的讀取權限 |
| &nbsp;&nbsp;&nbsp; **user:follow** | 授予存取權限以注/取消注使用者 |
| **delete_repo** | 授予刪除儲存庫的權限 |
| **package** | 授予對託管包的完全存取權限 |
| &nbsp;&nbsp;&nbsp; **write:package** | 授予包的讀/寫存取權限 |
| &nbsp;&nbsp;&nbsp; **read:package** | 授予包的讀取權限 |
| &nbsp;&nbsp;&nbsp; **delete:package** | 授予包的刪除權限 |
| **admin:gpg_key** | 授予 GPG 密管理的完全存取權限 |
| &nbsp;&nbsp;&nbsp; **write:gpg_key** | 授予 GPG 密鑰的讀/寫存取權限 |
| &nbsp;&nbsp;&nbsp; **read:gpg_key** | 授予 GPG 密的只讀存取權限 |
| **admin:application** | 授予應用程管理的完全存取權限 |
| &nbsp;&nbsp;&nbsp; **write:application** | 授予應用程管理的讀/寫存取權限 |
| &nbsp;&nbsp;&nbsp; **read:application** | 授予應用程管理的讀取權限 |
| **sudo** | 允以站管理身份執行操作 |
## 客端類型
## 客端類型
Gitea 支私密和公共客端類型,[参见 RFC 6749](https://datatracker.ietf.org/doc/html/rfc6749#section-2.1).
Gitea 支私密和公共客端類型,[參見 RFC 6749](https://datatracker.ietf.org/doc/html/rfc6749#section-2.1).
對於公共客端, 允在本地回环地址的重定向 URI 中使用任意端口,例如 `http://127.0.0.1/`。根 [RFC 8252 的建](https://datatracker.ietf.org/doc/html/rfc8252#section-8.3),請避免使用 `localhost`
對於公共客端, 允在本地迴環地址的重定向 URI 中使用任意端口,例如 `http://127.0.0.1/`。根 [RFC 8252 的建](https://datatracker.ietf.org/doc/html/rfc8252#section-8.3),請避免使用 `localhost`
##
##
**注意:**例中尚未使用 PKCE。
**注意:**例中尚未使用 PKCE。
1. 使用者重定向到授权端点,以得他们的访问资源授:
1. 使用者重定向到授權端點,以得他們的訪問資源授:
```curl
https://[YOUR-GITEA-URL]/login/oauth/authorize?client_id=CLIENT_ID&redirect_uri=REDIRECT_URI& response_type=code&state=STATE
```
设置中注册應用程序以获得 `CLIENT_ID`。`STATE` 是一个随机字符串,它将在获得使用者授权后发送回您的應用程。`state` 參數是可選的,但您應該使用它防止 CSRF 攻擊。
設定中註冊應用程式以獲得 `CLIENT_ID`。`STATE` 是一個隨機字符串,它將在獲得使用者授權後發送回您的應用程。`state` 參數是可選的,但您應該使用它防止 CSRF 攻擊。
![Authorization Page](/authorize.png)
使用者将会被询问是否授权给您的應用程。如果他同意了授,使用者将会被重定向到 `REDIRECT_URL`,例如:
使用者將會被詢問是否授權給您的應用程。如果他同意了授,使用者將會被重定向到 `REDIRECT_URL`,例如:
```curl
https://[REDIRECT_URI]?code=RETURNED_CODE&state=STATE
```
2. 使用重定向提供的 `code`,您可以請求一新的應用程和 Refresh Token。Access Token Endpoint 接受 `application/json` 或 `application/x-www-form-urlencoded` 類型的 POST 請求,例如:
2. 使用重定向提供的 `code`,您可以請求一新的應用程和 Refresh Token。Access Token Endpoint 接受 `application/json` 或 `application/x-www-form-urlencoded` 類型的 POST 請求,例如:
```curl
POST https://[YOUR-GITEA-URL]/login/oauth/access_token
@@ -121,8 +121,8 @@ Gitea 支持私密和公共客户端類型,[参见 RFC 6749](https://datatrack
}
```
`CLIENT_SECRET` 是生成應用程的唯一密。請注意,該密钥只会在您使用 Gitea 建立/注册應用程序后出現一次。如果您失了密,您必須在應用程序设置中重新生成密
`CLIENT_SECRET` 是生成應用程的唯一密。請注意,該密鑰只會在您使用 Gitea 建立/註冊應用程式後出現一次。如果您失了密,您必須在應用程式設定中重新生成密
`access_token` 請求中的 `REDIRECT_URI` 必須 `authorize` 請求中的 `REDIRECT_URI` 相符。
`access_token` 請求中的 `REDIRECT_URI` 必須 `authorize` 請求中的 `REDIRECT_URI` 相符。
3. 使用 `access_token` 来构造 [API 請求](development/api-usage.md#oauth2-provider) 以读写使用者的源。
3. 使用 `access_token` 來構造 [API 請求](api-usage) 以讀寫使用者的源。