Как использовать Azure API для FHIR Server без токена авторизации

Я создал ресурс для Azure API для FHIR Server. Я могу получить информацию о метаданных, используя URL-адрес, например https://fhir-server-url/metadata. Как упоминалось в документации https://docs.microsoft.com/en-us/azure/healthcare-apis/access-fhir-postman-tutorial для доступа к другим URL-адресам, таким как https://fhir-server-url/Patient, мы сначала нужно получить токен авторизации. Чтобы получить токен авторизации, нам понадобится ClientID, который мы можем получить, создав приложение в Azure Active Directory. Но у меня нет к нему доступа.

Могу ли я получить доступ к этому URL без токена авторизации? Сделав некоторую настройку на портале Azure.

3 ответа

Если вы используете собственную аудиторию (например, https://azurehealthcareapis/), которая используется по умолчанию при развертывании API Azure для FHIR, вы можете фактически использовать стороннее клиентское приложение, такое как Azure CLI, для получения токена. Проверьте https://docs.microsoft.com/azure/healthcare-apis/get-healthcare-apis-access-token-cli для деталей.

Сначала войдите в систему с помощью Azure CLI (https://docs.microsoft.com/cli/azure/?view=azure-cli-latest):

az login

Получите токен и сохраните его

token=$(az account get-access-token --resource=https://azurehealthcareapis.com | jq -r .accessToken)

Используйте токен:

curl -X GET --header "Authorization: Bearer $token" https://<FHIR ACCOUNT NAME>.azurehealthcareapis.com/Patient

Похоже, что из FHIR Server Doc вы можете включить или выключить это в зависимости от параметра конфигурации FhirServer:Security:Enabled, см. https://github.com/microsoft/fhir-server/blob/master/docs/Authentication.md

"FhirServer" : {
"Security": {
    "Enabled":  true,
    "Authentication": {
        "Audience": "fhir-api",
        "Authority": "https://localhost:44348"
    }
}}

Один из способов - получить регистрацию приложения в Azure Active Directory(AAD).

Вам потребуется две регистрации приложения в AAD, чтобы получить идентификатор клиента и секрет клиента для получения токена авторизации.

Другие вопросы по тегам