Docusign - Axe ios CORS (Работа над Почтальоном) - PullRequest
0 голосов
/ 05 мая 2020

Я пытаюсь выполнить этот вызов API из моего vue. js SPA.

this.$apiCallDocusign.post('/oauth/token', {
    grant_type: 'urn:ietf:params:oauth:grant-type:jwt-bearer',
    assertion: '{myJWT}'
})

$ apiCallDocusign:

import axios from 'axios'

var h_ds = {}

h_ds = {
    "Content-Type": "application/json"
}

const apiUrlDocusign = 'https://account-d.docusign.com'

const apiCallDocusign = axios.create({
  baseURL: apiUrlDocusign,
  headers: h_ds
})

export default apiCallDocusign

Но я получаю ошибку CORS :

Доступ к XMLHttpRequest по адресу 'https://account-d.docusign.com/oauth/token' from origin 'http://localhost: 8080 ' заблокирован политикой CORS: Ответ на предварительную проверку запрос не проходит проверку контроля доступа: перенаправление не разрешено для предпечатного запроса.

Он работает в Postman или Terminal с curl ... Заранее спасибо

1 Ответ

1 голос
/ 05 мая 2020

Здесь есть несколько проблем:

  1. Единственный поток OAuth, который может использоваться от SPA к DocuSign, - это поток неявных грантов . Он отлично работает из SPA (я использую его сам). Грант JWT нельзя использовать, поскольку нет способа защитить необходимый закрытый ключ от других.
  2. Альтернативой является легкое серверное приложение, которое генерирует токен доступа DocuSign, используя грант JWT, а затем возвращает его в ваш SPA. Будьте осторожны, чтобы защитить серверное приложение от злоумышленников.
  3. Вам также потребуется создать частный шлюз CORS для использования вашим приложением, поскольку DocuSign еще не поддерживает CORS. Документы для создания частного шлюза CORS .

    Чтобы повысить популярность CORS, попросите своих знакомых в DocuSign добавить свое имя / организацию во внутренний тикет PORTFOLIO-1100. CORS находится в нашей дорожной карте, но еще не запланирован.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...