diff options
author | Ellis Clayton <ellis@ellis.codes> | 2021-04-19 10:21:11 +1000 |
---|---|---|
committer | Ellis Clayton <ellis@ellis.codes> | 2021-04-19 10:21:11 +1000 |
commit | a80152890cd3db27c25717fdc45ae19b5b2d5b8c (patch) | |
tree | 2e44d363785661d68a4e237865d11a1fa14687bf /bridge | |
parent | 24155156223595e48f215e87cf9ce7895e22f4a7 (diff) | |
download | git-bug-a80152890cd3db27c25717fdc45ae19b5b2d5b8c.tar.gz |
Support new GitHub token formats
GitHub have introduced a new format for their access tokens, which does
not fit within the rules of the previous regex. For the time being, the
previous token format is still being supported by GitHub, so it makes
sense to continue allowing legacy tokens.
https://github.blog/changelog/2021-03-04-authentication-token-format-updates/
Diffstat (limited to 'bridge')
-rw-r--r-- | bridge/github/config.go | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/bridge/github/config.go b/bridge/github/config.go index 1e23c8ee..55a09c53 100644 --- a/bridge/github/config.go +++ b/bridge/github/config.go @@ -365,12 +365,13 @@ func promptToken() (*auth.Token, error) { fmt.Println(" - 'repo' : to be able to read private repositories") fmt.Println() - re := regexp.MustCompile(`^[a-zA-Z0-9]{40}$`) + legacyRe := regexp.MustCompile(`^[a-zA-Z0-9]{40}$`) + re := regexp.MustCompile(`^(?:ghp|gho|ghu|ghs|ghr)_[a-zA-Z0-9]{36,255}$`) var login string validator := func(name string, value string) (complaint string, err error) { - if !re.MatchString(value) { + if !re.MatchString(value) && !legacyRe.MatchString(value) { return "token has incorrect format", nil } login, err = getLoginFromToken(auth.NewToken(target, value)) |