de484e86bc
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 |
||
---|---|---|
.. | ||
assets/js | ||
content | ||
layouts | ||
scripts | ||
static | ||
.gitignore | ||
config.yaml | ||
LICENSE | ||
Makefile | ||
README.md | ||
README_ZH.md |
Gitea: Docs
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
Copyright (c) 2016 The Gitea Authors <https://gitea.io>