mirror of
https://gitea.com/gitea/docs.git
synced 2026-07-22 02:37:42 +00:00
Update zh tw languages and fix some broken links
This commit is contained in:
@@ -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** | 完全控制所有存储库 |
|
||||
| **repo:status** | 授予对所有存储库中提交状态的读/写访问权限 |
|
||||
| **public_repo** | 仅授予对公共存储库的读/写访问权限 |
|
||||
| **admin:repo_hook** | 授予对所有存储库的 Hooks 访问权限,该权限已包含在 `repo` 范围中 |
|
||||
| **write:repo_hook** | 授予对存储库 Hooks 的读/写访问权限 |
|
||||
| **read:repo_hook** | 授予对存储库 Hooks 的只读访问权限 |
|
||||
| **admin:org** | 授予对组织设置的完全访问权限 |
|
||||
| **write:org** | 授予对组织设置的读/写访问权限 |
|
||||
| **read:org** | 授予对组织设置的只读访问权限 |
|
||||
| **admin:public_key** | 授予公钥管理的完全访问权限 |
|
||||
| **write:public_key** | 授予对公钥的读/写访问权限 |
|
||||
| **read:public_key** | 授予对公钥的只读访问权限 |
|
||||
| **admin:org_hook** | 授予对组织级别 Hooks 的完全访问权限 |
|
||||
| **admin:user_hook** | 授予对用户级别 Hooks 的完全访问权限 |
|
||||
| **notification** | 授予对通知的完全访问权限 |
|
||||
| **user** | 授予对用户个人资料信息的完全访问权限 |
|
||||
| **read:user** | 授予对用户个人资料的读取权限 |
|
||||
| **user:email** | 授予对用户电子邮件地址的读取权限 |
|
||||
| **user:follow** | 授予访问权限以关注/取消关注用户 |
|
||||
| **delete_repo** | 授予删除存储库的权限 |
|
||||
| **package** | 授予对托管包的完全访问权限 |
|
||||
| **write:package** | 授予对包的读/写访问权限 |
|
||||
| **read:package** | 授予对包的读取权限 |
|
||||
| **delete:package** | 授予对包的删除权限 |
|
||||
| **admin:gpg_key** | 授予 GPG 密钥管理的完全访问权限 |
|
||||
| **write:gpg_key** | 授予对 GPG 密钥的读/写访问权限 |
|
||||
| **read:gpg_key** | 授予对 GPG 密钥的只读访问权限 |
|
||||
| **admin:application** | 授予应用程序管理的完全访问权限 |
|
||||
| **write:application** | 授予应用程序管理的读/写访问权限 |
|
||||
| **read:application** | 授予应用程序管理的读取权限 |
|
||||
| **sudo** | 允许以站点管理员身份执行操作 |
|
||||
| **(no scope)** | 授予對公開使用者設定檔和公開儲存庫的只讀存取權限 |
|
||||
| **repo** | 完全控制所有儲存庫 |
|
||||
| **repo:status** | 授予對所有儲存庫中提交狀態的讀/寫存取權限 |
|
||||
| **public_repo** | 僅授予對公開儲存庫的讀/寫存取權限 |
|
||||
| **admin:repo_hook** | 授予對所有儲存庫的 Hooks 存取權限,該權限已包含在 `repo` 範圍中 |
|
||||
| **write:repo_hook** | 授予對儲存庫 Hooks 的讀/寫存取權限 |
|
||||
| **read:repo_hook** | 授予對儲存庫 Hooks 的只讀存取權限 |
|
||||
| **admin:org** | 授予對組織設定的完全存取權限 |
|
||||
| **write:org** | 授予對組織設定的讀/寫存取權限 |
|
||||
| **read:org** | 授予對組織設定的只讀存取權限 |
|
||||
| **admin:public_key** | 授予公鑰管理的完全存取權限 |
|
||||
| **write:public_key** | 授予對公鑰的讀/寫存取權限 |
|
||||
| **read:public_key** | 授予對公鑰的只讀存取權限 |
|
||||
| **admin:org_hook** | 授予對組織級別 Hooks 的完全存取權限 |
|
||||
| **admin:user_hook** | 授予對使用者級別 Hooks 的完全存取權限 |
|
||||
| **notification** | 授予對通知的完全存取權限 |
|
||||
| **user** | 授予對使用者個人資料資訊的完全存取權限 |
|
||||
| **read:user** | 授予對使用者個人資料的讀取權限 |
|
||||
| **user:email** | 授予對使用者電子電子郵件地址的讀取權限 |
|
||||
| **user:follow** | 授予存取權限以關注/取消關注使用者 |
|
||||
| **delete_repo** | 授予刪除儲存庫的權限 |
|
||||
| **package** | 授予對託管包的完全存取權限 |
|
||||
| **write:package** | 授予對包的讀/寫存取權限 |
|
||||
| **read:package** | 授予對包的讀取權限 |
|
||||
| **delete:package** | 授予對包的刪除權限 |
|
||||
| **admin:gpg_key** | 授予 GPG 密鑰管理的完全存取權限 |
|
||||
| **write:gpg_key** | 授予對 GPG 密鑰的讀/寫存取權限 |
|
||||
| **read:gpg_key** | 授予對 GPG 密鑰的只讀存取權限 |
|
||||
| **admin:application** | 授予應用程式管理的完全存取權限 |
|
||||
| **write:application** | 授予應用程式管理的讀/寫存取權限 |
|
||||
| **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 攻擊。
|
||||
|
||||

|
||||
|
||||
用户将会被询问是否授权给您的应用程序。如果他们同意了授权,用户将会被重定向到 `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) 以讀寫使用者的資源。
|
||||
|
||||
Reference in New Issue
Block a user