Skip to content

Commit 3890459

Browse files
committed
Fix credential validator: use UserToken auth scheme for Central Portal
1 parent c0fbc29 commit 3890459

1 file changed

Lines changed: 9 additions & 8 deletions

File tree

.github/workflows/credential-validation.yml

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -37,25 +37,26 @@ jobs:
3737
run: |
3838
echo "Testing Maven Central (Central Portal) connection..."
3939
40+
# Central Portal uses UserToken auth scheme: Authorization: UserToken <base64(user:pass)>
41+
TOKEN=$(echo -n "${{ secrets.CENTRAL_USERNAME }}:${{ secrets.CENTRAL_PASSWORD }}" | base64)
4042
HTTP_CODE=$(curl -s -o /dev/null -w '%{http_code}' \
41-
-u "${{ secrets.CENTRAL_USERNAME }}:${{ secrets.CENTRAL_PASSWORD }}" \
42-
"https://ossrh-staging-api.central.sonatype.com/service/local/staging/profiles")
43+
-H "Authorization: UserToken $TOKEN" \
44+
"https://central.sonatype.com/api/v1/publisher/status?id=validation-check")
4345
4446
echo "Maven Central API response: $HTTP_CODE"
4547
46-
if [ "$HTTP_CODE" = "200" ]; then
48+
# 404 = auth OK but deployment id not found (expected for a test id)
49+
# 200 = auth OK
50+
# 401 = invalid credentials
51+
if [ "$HTTP_CODE" = "200" ] || [ "$HTTP_CODE" = "404" ]; then
4752
echo "status=SUCCESS" >> $GITHUB_OUTPUT
48-
echo "message=Maven Central connection successful" >> $GITHUB_OUTPUT
53+
echo "message=Maven Central credentials valid" >> $GITHUB_OUTPUT
4954
echo "✅ Maven Central credentials are valid"
5055
elif [ "$HTTP_CODE" = "401" ]; then
5156
echo "status=FAILURE" >> $GITHUB_OUTPUT
5257
echo "message=Authentication failed - invalid credentials" >> $GITHUB_OUTPUT
5358
echo "❌ Maven Central authentication failed (401)"
5459
exit 1
55-
elif [ "$HTTP_CODE" = "403" ]; then
56-
echo "status=SUCCESS" >> $GITHUB_OUTPUT
57-
echo "message=Credentials valid (limited permissions on staging API is normal)" >> $GITHUB_OUTPUT
58-
echo "✅ Maven Central credentials valid (403 on staging API is acceptable)"
5960
else
6061
echo "status=FAILURE" >> $GITHUB_OUTPUT
6162
echo "message=Connection failed - HTTP $HTTP_CODE" >> $GITHUB_OUTPUT

0 commit comments

Comments
 (0)