forgejo/docs/content/doc
Chongyi Zheng de484e86bc
Support scoped access tokens ()
This PR adds the support for scopes of access tokens, mimicking the
design of GitHub OAuth scopes.

The changes of the core logic are in `models/auth` that `AccessToken`
struct will have a `Scope` field. The normalized (no duplication of
scope), comma-separated scope string will be stored in `access_token`
table in the database.
In `services/auth`, the scope will be stored in context, which will be
used by `reqToken` middleware in API calls. Only OAuth2 tokens will have
granular token scopes, while others like BasicAuth will default to scope
`all`.
A large amount of work happens in `routers/api/v1/api.go` and the
corresponding `tests/integration` tests, that is adding necessary scopes
to each of the API calls as they fit.


- [x] Add `Scope` field to `AccessToken`
- [x] Add access control to all API endpoints
- [x] Update frontend & backend for when creating tokens
- [x] Add a database migration for `scope` column (enable 'all' access
to past tokens)

I'm aiming to complete it before Gitea 1.19 release.

Fixes 
2023-01-17 15:46:03 -06:00
..
advanced Add cron method to gc LFS MetaObjects () 2023-01-16 13:50:53 -06:00
developers Support scoped access tokens () 2023-01-17 15:46:03 -06:00
features Add support for incoming emails () 2023-01-14 23:57:10 +08:00
help docs: add swagger.json file location to FAQ () 2023-01-17 14:18:42 -06:00
installation Add Gentoo to the from package providers () 2022-12-30 11:14:51 -06:00
packages Update overview.en-us.md () 2023-01-16 16:24:24 -06:00
secrets Secrets storage with SecretKey encrypted () 2022-12-20 17:07:13 +08:00
translation Add plural definitions for German translations () 2022-11-13 11:58:21 -05:00
upgrade Add redirect of /upgrade/ to /upgrade-from-gitea/ on docs site () 2022-10-06 21:53:02 +01:00
usage Add support for incoming emails () 2023-01-14 23:57:10 +08:00
advanced.en-us.md Import docs into main repository () 2017-11-26 23:44:32 +02:00
advanced.fr-fr.md General documentation cleanup () 2018-01-08 23:48:42 +01:00
advanced.zh-cn.md Import docs into main repository () 2017-11-26 23:44:32 +02:00
advanced.zh-tw.md [docs] Add zh-tw Translations () 2021-01-29 01:57:58 +01:00
developers.en-us.md Add Package Registry () 2022-03-30 16:42:47 +08:00
developers.zh-cn.md Refactor docs () 2022-10-31 23:16:19 +00:00
developers.zh-tw.md Add Package Registry () 2022-03-30 16:42:47 +08:00
features.en-us.md Import docs into main repository () 2017-11-26 23:44:32 +02:00
features.zh-cn.md Import docs into main repository () 2017-11-26 23:44:32 +02:00
features.zh-tw.md Import docs into main repository () 2017-11-26 23:44:32 +02:00
help.en-us.md Implement documentation search () 2019-11-13 18:03:18 +00:00
help.fr-fr.md Implement documentation search () 2019-11-13 18:03:18 +00:00
help.zh-cn.md Implement documentation search () 2019-11-13 18:03:18 +00:00
help.zh-tw.md [docs] Add zh-tw Translations () 2021-01-29 01:57:58 +01:00
installation.en-us.md Import docs into main repository () 2017-11-26 23:44:32 +02:00
installation.fr-fr.md General documentation cleanup () 2018-01-08 23:48:42 +01:00
installation.zh-cn.md Import docs into main repository () 2017-11-26 23:44:32 +02:00
installation.zh-tw.md Import docs into main repository () 2017-11-26 23:44:32 +02:00
packages.en-us.md Add Package Registry () 2022-03-30 16:42:47 +08:00
translation.de-de.md Add Package Registry () 2022-03-30 16:42:47 +08:00
translation.en-us.md Add Package Registry () 2022-03-30 16:42:47 +08:00
translation.zh-tw.md Add Package Registry () 2022-03-30 16:42:47 +08:00
upgrade.en-us.md Import docs into main repository () 2017-11-26 23:44:32 +02:00
upgrade.fr-fr.md General documentation cleanup () 2018-01-08 23:48:42 +01:00
upgrade.zh-cn.md Import docs into main repository () 2017-11-26 23:44:32 +02:00
upgrade.zh-tw.md Import docs into main repository () 2017-11-26 23:44:32 +02:00
usage.en-us.md Import docs into main repository () 2017-11-26 23:44:32 +02:00
usage.zh-cn.md ZH-CN translation of Usage part () 2018-10-17 14:19:04 -04:00
usage.zh-tw.md [docs] Add zh-tw Translations () 2021-01-29 01:57:58 +01:00