Как создать токен JWT для API Prime Trust? - PullRequest
0 голосов
/ 08 октября 2019

Я работаю с API Prime Trust и не могу создать токен JWT. Я следую документации , в которой говорится следующее:

Начало работы с API-интерфейсами депозита - (Специально для песочницы)

Вам необходимо выполнить текущие шаги, чтобы получитьзапущено через API

  1. Создать нового пользователя
  2. Аутентифицироваться с помощью API, получив JWT.
  3. Создать аккаунт.
  4. API тестового режима - утвердить владельца учетной записи для CIP и AML.
  5. API тестового режима - открыть счет для фондов

Мне удалось создать пользователя, следуя документации, но я застрял на создании токена JWT,Согласно документации, я должен создать токен, используя следующие:

Веб-токены JSON (JWT)

Веб-токены JSON или JWT являются предпочтительным методом проверки подлинности для всех запросов, помимо создания JWT. ,Поскольку JWT не являются постоянными ресурсами сервера, они не создаются с использованием запроса или ответа в стиле JSONAPI.

Создание нового JWT

Новый JWT можно создать, передав учетные данные пользователя. используя базовую авторизацию HTTP для следующей конечной точки. Любые специальные настройки JWT, такие как белый список IP-адресов, время истечения срока действия или TOTP MFA, должны быть переданы в качестве значений формы во время создания.

POST / auth / jwts

Вот пример вызоваони дают:

curl --location --request POST "https://sandbox.primetrust.com/auth/jwts" \
  --header "Content-Type: application/x-www-form-urlencoded" \
  --form "expires_at=2019-06-06T07:30:40Z" \
  --form "otp=382948" \
  --form "cidr[]=192.168.1.213/32" \
  --form "cidr[]=127.0.0.1/32"

Я пробовал комбинацию различных вызовов с подробностями, изложенными ниже, но у всех моих попыток есть ошибка ниже:

401 Unauthorized
{
    "errors": [
        {
            "status": 401,
            "title": "Not authenticated."
        }
    ]
}

Тела

POST https://sandbox.primetrust.com/auth/jwts     

POST https://sandbox.primetrust.com/auth/jwts     
{
    "email": "email@email.com",
    "password": "123abc"
}

POST https://sandbox.primetrust.com/auth/jwts     
{
    "data": {
        "email": "email@email.com",
        "password": "123abc"
    }
}

POST https://sandbox.primetrust.com/auth/jwts     
{
    "name": "name",
    "email": "email@email.com",
    "password": "123abc"
}

POST https://sandbox.primetrust.com/auth/jwts     
{
    "id": {guid},
    "name": "name",
    "email": "email@email.com",
    "password": "123abc"
}

POST https://sandbox.primetrust.com/auth/jwts     
{
    "id": {guid},
    "password": "123abc"
}

Заголовки

Content-Type: application/json
expires_at: 2019-12-31T11:59:59Z
alg: HS256
typ: JWT

Я понимаю, что мои вызовы не совпадают точно с примером вызова, но из документации я понимаю, что все, что должно Для создания токена JWT необходимо указать имя и пароль. Чего мне не хватает?


Обновление 1

На основании обращения в службу поддержки Prime Trust имя пользователя / адрес электронной почты необходимо указывать в качестве параметров, а не в теле URL-адреса. Я попробовал следующие URL безуспешно

https://sandbox.primetrust.com/auth/jwts?email=email@email.com&password=123abc&id={guid}
https://sandbox.primetrust.com/auth/jwts?email=email@email.com&password=123abc
https://sandbox.primetrust.com/auth/jwts?password=123abc&id={guid}
https://sandbox.primetrust.com/auth/jwts?name=name&password=123abc

1 Ответ

0 голосов
/ 04 ноября 2019

Согласно документам:

Создание нового JWT

Новый JWT может быть создан путем передачи учетных данных пользователя с использованием базовой HTTP-авторизации следующемуконечная точка. Любые специальные настройки в JWT, такие как белый список IP-адресов, время истечения срока действия или TOTP MFA, должны быть переданы в качестве значений формы во время создания.

Поэтому в основном все, что вам нужно, - это создать Авторизация заголовок установлен на Basic Auth с вашими учетными данными:

curl -X POST \
  https://sandbox.primetrust.com/auth/jwts \
  -H 'Authorization: Basic YOUR_BASE64_ENCODED_EMAIL_AND_PASSWORD' \
  -H 'Content-Type: application/x-www-form-urlencoded' \
  -H 'cache-control: no-cache'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...