Content-Type: запроса должен быть application/JSON.
Authorization
URL-адрес защищен базовой HTTP-аутентификацией, которая описана в главе 2 RFC2617, поэтому вам необходимо предоставить поле заголовка Authorization: в вашем POST-запросе.
Для идентификатора пользователя базовой HTTP-аутентификации используйте тот же адрес электронной почты, который вы указали. строку JSON.
В качестве пароля укажите 10-значный одноразовый пароль, основанный на времени, соответствующий RFC6238 TOTP.
Пароль авторизации
Для создания пароля TOTP вам необходимо будет использовать следующую настройку:
Вы должны прочитать RFC6238 (и исправления ошибок тоже!) и самостоятельно получить правильный одноразовый пароль.
Временной шаг X TOTP: 30 секунд. T0 равен 0.
Используйте HMAC-SHA-512 для хеш-функции вместо HMAC-SHA-1 по умолчанию.
Общий секретный ключ токена — это идентификатор пользователя, за которым следует строковое значение ASCII «STRING» (не включая двойные кавычки).
Что у меня есть после долгих исследований:
Код: Выделить всё
import requests
import json
from requests.auth import HTTPBasicAuth
from base64 import b64encode
url = 'https://api.url.com'
payload = {
"github_url": "https://gist.github.com/gist-url",
"contact_email": "EMAIL",
"solution_language": "python"
}
userid = "EMAIL"
name = "STRING"
shared_secret = userid+name
timestep = 30
T0 = 0
header = {"Content-type": "application/json",
"Authorization": "Basic {}".format(
b64encode(bytes(f"{userid}:{name}", "utf-8")).decode("ascii"))
}
r = requests.post(url, data=json.dumps(payload), headers=header)
Подробнее здесь: https://stackoverflow.com/questions/776 ... h-function
Мобильная версия