Skip to content

Commit 9f81c8b

Browse files
committed
fix: update GitLab token validation to support longer token formats
1 parent 75a9310 commit 9f81c8b

File tree

1 file changed

+6
-7
lines changed

1 file changed

+6
-7
lines changed

src/components/private-repos-dialog.tsx

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,10 @@ const validateGitHubToken = (token: string): boolean => {
2222
}
2323

2424
const validateGitLabToken = (token: string): boolean => {
25-
// GitLab personal access tokens: glpat- followed by 20 characters
26-
// GitLab project access tokens: glpat- followed by 20 characters
27-
// GitLab group access tokens: glpat- followed by 20 characters
28-
const personalTokenPattern = /^glpat-[A-Za-z0-9_-]{20}$/
29-
return personalTokenPattern.test(token)
25+
// GitLab personal access tokens: glpat- followed by at least 20 characters
26+
// GitLab tokens can be longer than 20 characters (up to 50+ characters)
27+
const tokenPattern = /^glpat-[A-Za-z0-9_.-]{20,}$/
28+
return tokenPattern.test(token)
3029
}
3130

3231
export default function PrivateReposDialog({ repoType }: PrivateReposDialogProps) {
@@ -100,9 +99,9 @@ export default function PrivateReposDialog({ repoType }: PrivateReposDialogProps
10099
return (
101100
<ul className="list-disc list-inside space-y-1">
102101
<li>Must have &quot;read_repository&quot; scope for repository access</li>
103-
<li>Personal access token format: glpat- followed by 20 characters</li>
102+
<li>Personal access token format: glpat- followed by 20+ characters</li>
104103
<li>Should not expire soon (or set no expiration)</li>
105-
<li>Must be exactly 26 characters total (glpat- + 20 chars)</li>
104+
<li>Token length varies (typically 26-55+ characters total)</li>
106105
</ul>
107106
)
108107
}

0 commit comments

Comments
 (0)