RightMove Datafeed API Auth - Ax ios TLS auth - PullRequest
0 голосов
/ 15 апреля 2020

Я работаю над модулем, который требует от меня подачи данных в RightMove с использованием их API. Но перед этим требуется взаимная аутентификация для проверки фидера данных, который использует некоторые сертификаты и ключи.

Я получил следующие форматы файлов от RightMove:

  • file.jks
  • file.p12
  • file.pem

У меня также есть пароль, предоставленный RightMove для использования с этими (или одним из этих) файлов.

Теперь я должен использовать эти файлы для авторизации с RightMove, но я не уверен, что файл делает. Я использую Ax ios с Node.js

Может кто-нибудь помочь мне сформировать вызов ax ios, который бы использовал эти файлы для аутентификации?

Ответы [ 2 ]

0 голосов
/ 28 апреля 2020

Так что я решил это, используя файл p12 и только фразу-пароль. Файл JKS и PEM не были нужны.

const httpsAgent = new https.Agent({
   pfx: fs.readFileSync('/path/to/p12/file'),
   passphrase: '<your-passphrase>',
})
await axios.post(url, data, { headers, httpsAgent })
0 голосов
/ 15 апреля 2020

https://media.rightmove.co.uk/ps/pdf/guides/adf/Rightmove_Real_Time_Datafeed_Specification.pdf

Итак, я посмотрел документацию для RightMove API и на странице 5 говорится, что они предоставляют вам все три файла в зависимости от разработки окружающая обстановка.

Итак, для этого мы будем использовать файл .pem.

const https = require('https')
const fs = require('fs')
const axios = require('axios')

const key = fs.readFileSync('./key.pem')
const ca = fs.readFileSync('./ca.crt')

const url = 'https://adfapi.rightmove.co.uk/'

const httpsAgent = new https.Agent({
    rejectUnauthorized: true, // Set to false if you dont have the CA
    key,
    ca,
    passphrase: 'YYY', // Would recommend storing as secret
    keepAlive: false,
})

const axiosInstance = axios.create({ headers: { 'User-Agent': 'rightmove-datafeed/1.0' }, httpsAgent })

axiosInstance.get(url, { httpsAgent })

Я заметил, что в документации сказано, что для некоторых API, используемых с RightMove, вам необходимо установить обычай User-Agent. В документации упоминается, что у них есть JSON или XML схемы, доступные для скачивания здесь . Вы также можете увидеть примеры ответов.

Поскольку вы, скорее всего, будете делать несколько вызовов, я создал экземпляр axe ios, это означает, что вам нужно будет установить эти параметры только один раз. для всех запросов.

...