Мне нужно создать сценарий оболочки, который вызывает мой API входа через curl.Сценарий должен иметь возможность хранить и обрабатывать ответ от вызова curl api.
myscript.sh
#!/bin/bash
echo "Extract bearer token from curl calling login api"
echo
# Check cURL command if available (required), abort if does not exists
type curl >/dev/null 2>&1 || { echo >&2 "Required curl but it's not installed. Aborting."; exit 1; }
echo
PAYLOAD='{"email": "dummy-user@acme.com", "password": "secret"}'
curl -s --request POST -H "Content-Type:application/json" http://acme.com/api/authentications/login --data "${PAYLOAD}"
Моя проблема в данном сценарии:
- он не получает ответ curl, вызывающий API.
- Из ответа json получают только значение токена.
Пример входа в системуОтвет API:
{
"user": {
"id": 123,
"token": "<GENERATED-TOKEN-HERE>",
"email": "dummy-user@acme.com",
"refreshToken": "<GENERATED-REFRESH-TOKEN>",
"uuid": "1239c226-8dd7-4edf-b948-df2f75508888"
},
"clientId": "abc12345",
"clientSecretKey": "thisisasecret"
}
Мне нужно только получить значение token
и сохранить его в переменной ... Я буду использовать значение токена в другом вызове curl api в качестве токена носителя.
Что мне нужно изменить в моем скрипте, чтобы извлечь значение token
из ответа на вызов curl api?
Спасибо!