forgejo-federation/docs
Chongyi Zheng de484e86bc
Support scoped access tokens (#20908)
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 #4300
2023-01-17 15:46:03 -06:00
..
assets/js Add new JS linter rules (#17699) 2021-11-22 16:19:01 +08:00
content Support scoped access tokens (#20908) 2023-01-17 15:46:03 -06:00
layouts docs: move search input to navbar (#20551) 2022-08-08 15:27:04 +08:00
scripts Run hugo via go run and lock its version (#22206) 2022-12-21 21:09:53 -05:00
static Refactor docs (#21627) 2022-10-31 23:16:19 +00:00
.gitignore Support Issue forms and PR forms (#20987) 2022-09-02 15:58:49 +08:00
config.yaml docs: bump Gitea version (#22490) 2023-01-17 18:42:12 +00:00
LICENSE Import docs into main repository (#2874) 2017-11-26 23:44:32 +02:00
Makefile Upgrade hugo to 0.82 (#22209) 2022-12-22 19:29:33 +08:00
README.md Update to docs README (#6221) 2019-03-01 15:39:30 -05:00
README_ZH.md update discord link (#10455) 2020-02-25 12:36:45 -05:00

Gitea: Docs

Join the chat at https://img.shields.io/discord/322538954119184384.svg

Hosting

These pages are hosted using netlifycms and get automatically updated on every push to the master branch.

Install

These pages use the Hugo static site generator. If you are planning to contribute you'll want to download and install Hugo on your local machine.

The installation of Hugo is out of the scope of this document, so please take the official install instructions to get Hugo up and running.

Development

To generate the website and serve it on localhost:1313 just execute this command and stop it with Ctrl+C:

make server

When you are done with your changes just create a pull request, after merging the pull request the website will be updated automatically.

Contributing

Fork -> Patch -> Push -> Pull Request

Authors

License

This project is under the Apache-2.0 License. See the LICENSE file for the full license text.

Copyright (c) 2016 The Gitea Authors <https://gitea.io>