0 关注者 · 13 帖子

有关 OAuth2 身份验证的文章和问题。

文章 Kelly Huang · 一月 31 2m read

此外,在以前的版本中,您可以定义您的 FHIR 服务器接受通过 OAuth 2.0 发送的请求(例如,用于 FHIR 客户端上的 SMART),但在前不久发布的 v2024.3 中,有一项新功能可以更轻松地实现这一点,即OAuth FHIR 客户端快速启动(OAuth FHIR Client QuickStart)

0
0 60
文章 Kelly Huang · 一月 29 6m read

InterSystems API 管理器(IAM)是 InterSystems IRIS 数据平台的核心组件,提供集中式 API 管理,重点强调安全性。IAM 简化了从创建到退出的整个 API 生命周期,并提供了一个开发人员门户,便于发现和集成 API。访问控制功能允许管理员定义精确的权限,IAM 与 IRIS 数据平台无缝集成,增强了数据管理和集成能力。

IAM 的功能包括

  • API 网关:集中式 API 管理和安全中心。
  • API 生命周期管理:从创建到退出的完整生命周期控制。
  • 安全性:身份验证、授权和数据加密。
  • 监控和分析:使用监控和模式分析工具。
  • 开发人员门户网站:具有文档和测试功能的 API 发现门户。
  • 访问控制:对 API 访问和操作进行细粒度控制。
  • 与 InterSystems IRIS 集成:与 IRIS 数据平台无缝集成。

使用案例: 本报告中的用例是身份和访问管理。

符合 OAuth 2.0 标准的身份验证和授权,使用 IAM 确保 FHIR 服务器的安全。

在本文档中,您将了解如何使用 InterSystems API Manager 通过 OAuth 2.0 确保 FHIR 服务器的安全。OAuth 2.0 是一种广泛使用的授权标准,可使应用程序访问 FHIR 服务器上受保护的资源。

0
0 37
文章 Claire Zheng · 一月 27 3m read

大家好,现在我想继续我们之前讨论过的话题

使用 Postman 测试 InterSystems FHIR 存储库的 OAuth2.0 - 第一部分


问题1:我的client_id和client_secret是从哪里来的?

简短回答:身份验证服务器(Authentication Server)。

如果没有身份验证服务器,可按以下方法设置一个

提供主机名(主机必须支持 Https)、至少 1 种大类型(这里我们选择客户端凭证)和 SSL/TSL 配置

输入作用域(这里我们输入user/*.readuser/ *. write,这是基于 FHIR 服务器(资源服务器)支持的作用域)。万一我们遗漏了某些作用域,请检查 "允许不支持的作用域(Allow unsupported scope)"。

JWT 设置选择 RS256(这只是一个示例,您可以选择适合您架构的设置)

生成令牌类(Generate token class)更改为%OAuth2.Server.JWT。如果需要,还可以更新命名空间。

保存(Save)设置


问题 2:如何查看身份验证服务器的 client_id 和 client_secret?

简短回答: 设置 OAuth2.0 客户端(如果没有)并创建一个客户端

以下是设置 OAuth2.0 客户端的步骤。

0
0 65
文章 Kelly Huang · 一月 27 3m read

如果要从 x509 证书/密钥生成JWT,对%SYS.X509Credentials的任何操作(包括读取)都需要 %Admin_Secure 资源上的 U。之所以需要 %Admin_Secure,是因为 %SYS.X509Credentials 是持久的,这样做是为了防止所有用户访问私钥。

如果 %Admin_Secure 资源在运行时不可用,可以使用以下变通方法。

在查看 JWT 生成代码时,我发现 JWT 代码仅利用 %SYS.X509Credentials 作为 PrivateKeyPrivateKeyPasswordCertificate 的运行时数据源。作为一种变通方法,您可以使用 X.509 接口的运行时非持久化实现,只公开这些属性。如果要使用互操作性,证书/PK 可以存储在凭证中,以便安全访问:

Class User.
0
0 84
文章 Claire Zheng · 一月 27 3m read

大家好,又是我来分享我最近的学习心得了。

最近,我正在学习如何为 InterSystems FHIR 资源库设置 OAuth2 身份验证。我发现以下文章非常好,而且很容易理解。

使用 IRIS for Health 启动 FHIR EHR 的 SMART

在 IRIS for Health 上构建 FHIR 资源库 + OAuth2 授权服务器/资源服务器配置》第 2 部分

对我来说,作为一个对 OAuth2.0 没有太多了解的用户。我认为,在了解整个 OAuth2.0 环境之前,从纯粹的用户角度来看(它是什么、我需要哪些参数、预期输出是什么),理解如何设置整个 OAuth2.0 环境是相当困难的。在这里,我们使用 Postman 作为客户端。

如果你想有一个 OAuth 的测试环境,可以试试下面的 dockers

workshop-iris-oauth2 或本文中的 docker在 IRIS for Health 上构建 FHIR 资源库 + OAuth2 授权服务器/资源服务器配置 第 1 部分

在本文中,我在本地计算机上设置了一个支持 HTTPS 的 InterSystems FHIR 资源库 。(根据我的观察,要使 InterSystems OAuth 正常工作,资源服务器必须支持 HTTPS😑😐。)


因此,让我们从简单的开始。

0
0 34
文章 Nicky Zhu · 十二月 23, 2025 5m read

什么是 JWT?

JWT (JSON Web Token,JSON 网络令牌)是一种开放标准(RFC 7519),它提供了一种轻量级、紧凑、自足的方法,用于在双方之间安全地传输信息。它常用于网络应用程序中的身份验证、授权和信息交换。

JWT 通常由三部分组成:

1.JOSE(JSON Object Signing and Encryption,JSON 对象签名和加密)标头
2.有效载荷
3.签名

这些部分以 Base64Url 格式编码,并用点(.)分隔。

JWT 的结构

标题

{ "alg": "HS256", "typ": "JWT"}

有效载荷

{"sub": "1234567890", "name": "John Doe", "iat": 1516239022}

签名
签名用于验证 JWT 的发件人是否为其本人,并确保信息未被篡改。

创建签名

1. base64 编码报头和有效载荷。
2.使用秘钥(对于对称算法,如 HMAC)或私钥(对于非对称算法,如 RSA)应用签名算法(如 HMAC SHA256 或 RSA)。
3.对结果进行 Base64Url 编码,以获得签名。

JWT 样本。查看JWT 内容

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.
0
0 150
文章 Kelly Huang · 六月 5, 2025 7m read

在过去的几个月里,我一直在从事 SMART on FHIR EHR Launch 的工作,使用 CSIRO 的两个开源应用程序:SMART-EHR-Launcher 和 SMART 表单应用程序来测试 IRIS for Health 的功能。这段旅程非常有趣,我非常感谢能有机会参与这项任务并探索 IRIS for Health 的更多潜力。

在 HL7 AU FHIR Connectathon 上成功演示了多个外部 SMART 应用程序的无缝启动后,我很高兴能与社区分享我的心得。我希望我的见解能帮助其他人更快地开始类似的项目。

这项任务涉及使用 SMART-EHR-Launcher 作为 EHR 来启动 SMART 表单应用程序。同时,IRIS for Health 被用作 EHR 的 FHIR 资源库,其 OAuth2 服务器被用作授权服务器。

在进入激动人心的时刻之前,让我们先仔细了解一下 SMART on FHIR 和 SMART on FHIR EHR 启动仪式。让我们问问我们的好朋友 ChatGPT 和 豆包。

什么是 SMART on FHIR?

SMART on FHIR 是一种用于开发医疗保健应用程序的平台,旨在实现医疗保健系统之间的互操作性、安全性和可扩展性。

0
1 123