我已经为 FHIR Server的Azure API 创建了资源。我可以使用https://fhir-server-url/metadata之类的URL查看元数据信息。如文档https://docs.microsoft.com/en-us/azure/healthcare-apis/access-fhir-postman-tutorial中所述,要访问其他https://fhir-server-url/Patient之类的URL,我们需要首先获取授权令牌。为了获得授权令牌,我们需要ClientID,可以通过在Azure Active Directory中创建应用程序来获得。但我无权访问。
有什么方法可以不需要授权令牌即可访问此URL?通过在Azure门户中进行一些设置。
答案 0 :(得分:1)
从FHIR服务器文档看来,您可以根据 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"
}
}}
答案 1 :(得分:1)
如果使用的是第一方访问者(例如https://azurehealthcareapis)(这是为FHIR部署Azure API的默认设置),则实际上可以使用第一方客户端应用程序(例如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
答案 2 :(得分:0)
简短答案::不幸的是,您必须在Azure Active(AAD)目录中进行应用注册。
您必须在AAD中至少创建2个应用程序注册,没有其他方法可以获取客户端ID和客户端密码来检索授权令牌。