У меня есть облачная учетная запись bitbucket.В разделе: https://id.atlassian.com/manage/api-tokens я сгенерировал токен API, который я пытаюсь использовать в вызове REST для загрузки открытого ключа SSH в свою учетную запись.На основании:
https://docs.atlassian.com/bitbucket-server/rest/5.6.2/bitbucket-ssh-rest.html?utm_source=%2Fstatic%2Frest%2Fbitbucket-server%2F5.6.2%2Fbitbucket-ssh-rest.html&utm_medium=301#idm45427244388592
https://community.atlassian.com/t5/Answers-Developer-Questions/Bitbucket-REST-API-POST-using-token-instead-of-basic-auth/qaq-p/474823
Я пытался:
curl -X POST -d '{"text":"ssh-rsa AAAAB3... me@127.0.0.1"}' -H "Authorization: Bearer ADasdaEeasAsd..." https://bitbucket.org/[my-account]]/rest/ssh/latest/keys
Но когда я бегу, я получаю:
{"type": "error", "error": {"message": "Access token expired. Use your refresh token to obtain a new access token."}}
Я попытался воссоздать токен и еще раз выполнить указанную выше команду - с новым токеном - но я получаю ту же ошибку.
Есть предложения?
На основании приведенного ниже ответа и ссылки, которую я сейчас попробовал:
curl -X POST \
-H "Content-Type: application/json" \
-H "Authorization: Bearer wxdrtblabla..." \
-d '{"key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKqP3Cr632C2dNhhgKVcon4ldUSAeKiku2yP9O9/bDtY myuser@bitbucket.org/myuser"}' \
https://api.bitbucket.org/2.0/users/myuser/ssh-keys
Но я получаю точно такую же ошибку:
{"type": "error", "error": {"message": "Access token expired. Use your refresh token to obtain a new access token."}}
Так что все равно не повезло.Также, если я получаю доступ к
https://api.bitbucket.org/2.0/users/[myuser]/ssh-keys
прямо в браузере, я получаю:
type "error"
error
message "This API is only accessible with the following authentication types: session, password, apppassword"
РЕДАКТИРОВАТЬ / ОТВЕТИТЬ: На основеВ обновленном ответе ниже я не пытался создать пароль приложения и предоставить ему учетную запись: чтение / запись в bitbucket, и это работает.Я запускаю его с:
curl -v -u myuser:my-generated-app-password -X POST \
-H "Content-Type: application/json" \
-d '{"key": "ssh-rsa AAA....ro"}' \
https://api.bitbucket.org/2.0/users/myuser/ssh-keys