

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

# HealthLake FHIR 上的 SMART 的身份验证要求
<a name="reference-smart-on-fhir-authentication"></a>

要访问支持 FHIR 的 SMART on HealthLake 数据存储中的 FHIR 资源，客户端应用程序必须由 OAuth 兼容 2.0 的授权服务器授权，并在 FHIR REST API 请求中出示OAuth 持有者令牌。要查找授权服务器的端点，请通过`Well-Known`统一资源标识符使用 SM HealthLake ART on FHIR 发现文档。要了解有关此过程的更多信息，请参阅[正在获取 SMART on FHIR 发现文档](reference-smart-on-fhir-discovery-document.md)。

在 FHIR HealthLake 数据存储上创建 SMART 时，必须在`CreateFHIRDatastore`请求的`metadata`元素中定义授权服务器的端点和令牌端点。要了解有关定义`metadata`元素的更多信息，请参阅[创建 HealthLake 数据存储](managing-data-stores-create.md)。

使用授权服务器端点，客户端应用程序将使用授权服务对用户进行身份验证。授权和身份验证后，授权服务会生成 JSON Web 令牌 (JWT) 并传递给客户端应用程序。此令牌包含允许客户端应用程序使用的 FHIR 资源范围，这反过来又限制了用户能够访问的数据。或者，如果提供了启动范围，则响应中将包含这些详细信息。要了解有关支持的 SMART on FHIR 示波器的更多信息 HealthLake，请参阅[支持的 FHIR OAuth 2.0 瞄准镜上的 SMART HealthLake](reference-smart-on-fhir-oauth-scopes.md)。

使用授权服务器授予的 JWT，客户端应用程序对启用 FHIR 的 SMART 数据存储进行 FHIR REST API 调用 HealthLake 。要验证和解码 JWT，您需要创建一个 Lambda 函数。 HealthLake 在收到 FHIR REST API 请求时代表你调用此 Lambda 函数。要查看起始 Lambda 函数的示例，请参阅。[使用令牌验证 AWS Lambda](reference-smart-on-fhir-token-validation.md)

## 创建启用 FHIR 的 SMART HealthLake 数据存储所需的授权服务器元素
<a name="datastore-auth-server"></a>

在`CreateFHIRDatastore`请求中，您需要提供授权端点和令牌端点作为`IdentityProviderConfiguration`对象中`metadata`元素的一部分。授权端点和令牌端点都是必需的。要查看`CreateFHIRDatastore`请求中如何指定这一点的示例，请参阅[创建 HealthLake 数据存储](managing-data-stores-create.md)。

## 在启用 HealthLake FHIR 的数据存储上的 SMART 上完成 FHIR REST API 请求所需的声明
<a name="server-response"></a>

您的 AWS Lambda 函数必须包含以下声明才能成为启用 SMART on FHIR HealthLake 的数据存储上的有效 FHIR REST API 请求。
+ `nbf`:[（Not Before）索赔](https://datatracker.ietf.org/doc/html/rfc7519#section-4.1.5) — “nbf”（不是之前）索赔指明了在此之前不得接受 JWT 进行处理的时间。“nbf” 索赔的处理要求当前索赔 date/time 必须高于或等于 “nbf” 索赔中 date/time 列出的前值。我们提供的示例 Lambda 函数`iat`从服务器响应转换为。`nbf`
+ `exp`:[（到期时间）索赔](https://datatracker.ietf.org/doc/html/rfc7519#section-4.1.4) — “exp”（到期时间）索赔确定了过期时间，在此时间或之后，JWT 不得被接受处理。
+ `isAuthorized`: 布尔值设置为`True`。表示请求已在授权服务器上获得授权。
+ `aud`:[（受众）声明](https://datatracker.ietf.org/doc/html/rfc7519#section-4.1.3) — “aud”（受众）声明用于标识智威汤逊所针对的收件人。这必须是启用 SMART on FHIR HealthLake 的数据存储端点。
+ `scope`：这必须是至少一个与 FHIR 资源相关的范围。此范围是在您的授权服务器上定义的。要了解有关接受的 FHIR 资源相关范围的更多信息 HealthLake，请参阅[SMART 对 FHIR 的资源范围适用于 HealthLake](reference-smart-on-fhir-oauth-scopes.md#smart-on-fhir-scopes-rest)。