summaryrefslogtreecommitdiffstats
path: root/templates/swagger
diff options
context:
space:
mode:
authorzeripath <art27@cantab.net>2021-07-13 14:28:07 +0100
committerGitHub <noreply@github.com>2021-07-13 15:28:07 +0200
commitb82293270c7d2d36d79cb9c5731d07c3f5b33f6b (patch)
treea79131e08ecf19cc8e642fcc032bfee0e30959c0 /templates/swagger
parent67f135ca5ddfcab4391a00af4936d0260079cd97 (diff)
downloadgitea-b82293270c7d2d36d79cb9c5731d07c3f5b33f6b.tar.gz
gitea-b82293270c7d2d36d79cb9c5731d07c3f5b33f6b.zip
Add option to provide signature for a token to verify key ownership (#14054)
* Add option to provide signed token to verify key ownership Currently we will only allow a key to be matched to a user if it matches an activated email address. This PR provides a different mechanism - if the user provides a signature for automatically generated token (based on the timestamp, user creation time, user ID, username and primary email. * Ensure verified keys can act for all active emails for the user * Add code to mark keys as verified * Slight UI adjustments * Slight UI adjustments 2 * Simplify signature verification slightly * fix postgres test * add api routes * handle swapped primary-keys * Verify the no-reply address for verified keys * Only add email addresses that are activated to keys * Fix committer shortcut properly * Restructure gpg_keys.go * Use common Verification Token code Signed-off-by: Andrew Thornton <art27@cantab.net>
Diffstat (limited to 'templates/swagger')
-rw-r--r--templates/swagger/v1_json.tmpl54
1 files changed, 54 insertions, 0 deletions
diff --git a/templates/swagger/v1_json.tmpl b/templates/swagger/v1_json.tmpl
index de61b9dd29..297720cec9 100644
--- a/templates/swagger/v1_json.tmpl
+++ b/templates/swagger/v1_json.tmpl
@@ -10714,6 +10714,52 @@
}
}
},
+ "/user/gpg_key_token": {
+ "get": {
+ "produces": [
+ "text/plain"
+ ],
+ "tags": [
+ "user"
+ ],
+ "summary": "Get a Token to verify",
+ "operationId": "getVerificationToken",
+ "responses": {
+ "200": {
+ "$ref": "#/responses/string"
+ },
+ "404": {
+ "$ref": "#/responses/notFound"
+ }
+ }
+ }
+ },
+ "/user/gpg_key_verify": {
+ "post": {
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "tags": [
+ "user"
+ ],
+ "summary": "Verify a GPG key",
+ "operationId": "userVerifyGPGKey",
+ "responses": {
+ "201": {
+ "$ref": "#/responses/GPGKey"
+ },
+ "404": {
+ "$ref": "#/responses/notFound"
+ },
+ "422": {
+ "$ref": "#/responses/validationError"
+ }
+ }
+ }
+ },
"/user/gpg_keys": {
"get": {
"produces": [
@@ -12826,6 +12872,10 @@
"type": "string",
"uniqueItems": true,
"x-go-name": "ArmoredKey"
+ },
+ "armored_signature": {
+ "type": "string",
+ "x-go-name": "Signature"
}
},
"x-go-package": "code.gitea.io/gitea/modules/structs"
@@ -14484,6 +14534,10 @@
"$ref": "#/definitions/GPGKey"
},
"x-go-name": "SubsKey"
+ },
+ "verified": {
+ "type": "boolean",
+ "x-go-name": "Verified"
}
},
"x-go-package": "code.gitea.io/gitea/modules/structs"