Публикация на Azure FHIR Server Метод Сбой аутентификации 401 - PullRequest
1 голос
/ 12 февраля 2020

У меня есть Azure FHIR-сервер, который я тестировал с помощью POSTMAN. Я могу читать пациентов, а также POST-пациентов, используя POSTMAN и Oauth-токен.

Я создал JavaScript метод Post так что я могу публиковать данные из моего собственного метода, а не с помощью POSTMAN. Я следовал базовым c инструкциям здесь Создание ресурса Я могу получить токен доступа с помощью POSTMAN, и я использую этот токен доступа в своем методе POST.

Мой метод и публикация данных как следовать.

<!DOCTYPE html>
<html>
<head>
  <script type="text/javascript">

  (async () => {
  const rawResponse = await fetch('https://smarthealth.azurehealthcareapis.com/Patient', {
  method: 'POST',
  Authorization: 'Bearer DGRijc8LrnjCrhRFRSn2Jnf89q2wGT_gxNHtJt',
   headers: {
              'Access-Control-Allow-Origin': '*',
               'Accept': 'application/json',
               'Content-Type': 'application/json',
               'Access-Control-Allow-Origin': 'http://localhost:3000',
               'Access-Control-Allow-Methods': 'PUT, GET, POST, DELETE, OPTIONS'
                },
    body: JSON.stringify({
    "resourceType": "Patient",
    "id": "9184e31a-a2b3-4b8d-9032-d5377cabaa08",

       "extension": [
         {
          "url": "http://hl7.org/fhir/us/core/StructureDefinition/us-core-race",
            "extension": [
               {
                "url": "ombCategory",
              "valueCoding": {
               "system": "urn:oid:2.16.840.1.113883.6.238",
             "code": "2106-3",
             "display": "White"
                }
                  },
           {
             "url": "text",
           "valueString": "White"
                         }
                            ]
                        },
                        {
              "url": "http://hl7.org/fhir/StructureDefinition/patient-birthPlace",
        "valueAddress": {
         "city": "Mashpee",
          "state": "Massachusetts",
          "country": "US"
                            }
                        },

                    ],

                    "name": [
                        {
                            "use": "official",
                            "family": "Kutch",
                            "given": [
                                "Sherron"
                            ]
                        }
                    ],

                    "gender": "female",
                    "birthDate": "2009-04-29",

                })
            });
            const content = await rawResponse.json();

            console.log(content);
        })();

    </script>
</head>

<body>
    Javascript Azure FHIR Post Request Test
</body>

</html>

Authentication Failed Image here

1 Ответ

1 голос
/ 12 февраля 2020

Вы можете попробовать отправить запрос в следующем формате.

  $("#btnPostToAzureFHIR").click(function () {
        var yourPostDataFormat = {
            resourceType: "Patient",
            id: "9184e31a-a2b3-4b8d-9032-d5377cabaa08"
        }
        $.ajax({
            type: "POST",
            url: "https://smarthealth.azurehealthcareapis.com/Patient",
            data: JSON.stringify(yourPostDataFormat),
            beforeSend: function (xhr) {
                xhr.setRequestHeader('Authorization','Bearer DGRijc8LrnjCrhRFRSn2Jnf89q2wGT_gxNHtJt');
            },
            dataType: "json",
            contentType: "application/json",
            success: function (data) {
                console.log(data);

            }
        });

Примечание: Свяжите свой параметр в паре ключ-значение на yourPostDataFormat, затем передайте JSON.stringify(yourPostDataFormat) раздел. Надеюсь, он отправит ваш запрос с токеном

...