

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 正在获取 SMART on FHIR 发现文档
<a name="reference-smart-on-fhir-discovery-document"></a>

SMART 定义了一个发现文档，允许客户端了解授权端点 URLs 和 HealthLake 数据存储支持的功能。此信息可帮助客户端将授权请求定向到正确的端点，并构造 HealthLake数据存储支持的授权请求。

要使客户端应用程序成功发出 FHIR REST 请求 HealthLake，它必须收集 HealthLake 数据存储所定义的授权要求。此请求*不需要*持有者令牌（授权）即可成功。

**请求 HealthLake 数据存储的发现文档**  


1. 收集 HealthLake `region`和`datastoreId`价值。有关更多信息，请参阅 [获取数据存储属性](managing-data-stores-describe.md)。

1. 使用收集到的 HealthLake`region`和值为请求构造一个 URL `datastoreId`。附加`/.well-known/smart-configuration`到 URL 的端点。要查看以下示例中的整个 URL 路径，请滚动到 “**复制**” 按钮。

   ```
   https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/.well-known/smart-configuration
   ```

1. 使用[AWS 签名版本 4 `GET` 签名](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_sigv.html)协议发送请求。要查看整个示例，请滚动到 “复**制**” 按钮。

------
#### [ curl ]

   ```
   curl --request GET \
     'https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/.well-known/smart-configuration \
     --aws-sigv4 'aws:amz:region:healthlake' \
     --user "$AWS_ACCESS_KEY_ID:$AWS_SECRET_ACCESS_KEY" \
     --header "x-amz-security-token:$AWS_SESSION_TOKEN" \
     --header 'Accept: application/json'
   ```

------

    HealthLake 数据存储的 Discovery Document 以 JSON blob 的形式返回`token_endpoint`，您可以在其中找到`authorization_endpoint`和，以及数据存储的规格和已定义的功能。

   ```
   {
       "authorization_endpoint": "https://oidc.example.com/authorize",
       "token_endpoint": "https://oidc.example.com/oauth/token",
       "capabilities": [
           "launch-ehr",
           "client-public"
       ]
   }
   ```

   `authorization_endpoint`和都是启动客户端应用程序所必需的。`token_endpoint`
   + **授权端点**-授权客户端应用程序或用户所需的 URL。
   + **令牌端**点-客户端应用程序用来与之通信的授权服务器的端点。