summaryrefslogtreecommitdiff
path: root/internal/gitlabnet
diff options
context:
space:
mode:
authorStan Hu <stanhu@gmail.com>2020-07-23 06:19:57 +0000
committerIgor Drozdov <idrozdov@gitlab.com>2020-07-23 06:19:57 +0000
commit6555cb81641af139aa65865c4a749a8c7d53e07e (patch)
tree5f2fe6b065969b0e71e5d3de18a9267951576dad /internal/gitlabnet
parentb8b75477d9b49e809926826a1cd4bc413d018514 (diff)
downloadgitlab-shell-6555cb81641af139aa65865c4a749a8c7d53e07e.tar.gz
Log SSH key details
Right now when a client such as gitlab-shell calls the `/api/v4/internal/allowed` API, the response only tells the client what user has been granted access, and it's impossible to tell which deploy key/token was used in the authentication request. This commit adds logs for the following when available: 1. `gl_key_type` (e.g. `deploy_key` or `key`) 2. `gl_key_id` These fields make it possible for admins to identify the exact record that was used to authenticate the user. API changes in the `/internal/allowed` endpoint in https://gitlab.com/gitlab-org/gitlab/-/merge_requests/37289 are needed to support this. Relates to https://gitlab.com/gitlab-org/gitlab-shell/-/issues/203
Diffstat (limited to 'internal/gitlabnet')
-rw-r--r--internal/gitlabnet/accessverifier/client.go2
1 files changed, 2 insertions, 0 deletions
diff --git a/internal/gitlabnet/accessverifier/client.go b/internal/gitlabnet/accessverifier/client.go
index a9c7d97..234e854 100644
--- a/internal/gitlabnet/accessverifier/client.go
+++ b/internal/gitlabnet/accessverifier/client.go
@@ -55,6 +55,8 @@ type Response struct {
Message string `json:"message"`
Repo string `json:"gl_repository"`
UserId string `json:"gl_id"`
+ KeyType string `json:"gl_key_type"`
+ KeyId int `json:"gl_key_id"`
Username string `json:"gl_username"`
GitConfigOptions []string `json:"git_config_options"`
Gitaly Gitaly `json:"gitaly"`