diff options
author | Frode Aannevik <frode.aa@gmail.com> | 2019-10-15 23:09:47 +0200 |
---|---|---|
committer | Unknwon <u@gogs.io> | 2019-10-15 14:09:47 -0700 |
commit | ffbb0f6a60a000e42f26fd1e08925de1f2ff90be (patch) | |
tree | 2da6d91b9cdc3410b718a40cf98eddb3a4e1ddad /routes/user | |
parent | 1c82c42cb357b4d1c190a30346f52e11427e8470 (diff) |
token: disallow multiple tokens with same name (#5820)
* api/v1: don't allow multiple tokens with same name
Fail with 422 Unprocessable Entity if the token name
already exist
ref: https://github.com/gogs/gogs/issues/5587
* Move new token error type to models/errors/token
* Remove "useless" ListAccessTokensByName function
* Add an i18n entry for token_name_exists
Diffstat (limited to 'routes/user')
-rw-r--r-- | routes/user/setting.go | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/routes/user/setting.go b/routes/user/setting.go index 2391fb98..e9d8182d 100644 --- a/routes/user/setting.go +++ b/routes/user/setting.go @@ -607,7 +607,12 @@ func SettingsApplicationsPost(c *context.Context, f form.NewAccessToken) { Name: f.Name, } if err := models.NewAccessToken(t); err != nil { - c.ServerError("NewAccessToken", err) + if errors.IsAccessTokenNameAlreadyExist(err) { + c.Flash.Error(c.Tr("settings.token_name_exists")) + c.SubURLRedirect("/user/settings/applications") + } else { + c.ServerError("NewAccessToken", err) + } return } |