Security 在智能(FHIR)应用程序中:应用程序能否验证EHR?

Security 在智能(FHIR)应用程序中:应用程序能否验证EHR?,security,authentication,oauth-2.0,hl7-fhir,Security,Authentication,Oauth 2.0,Hl7 Fhir,我非常清楚,使用智能应用程序的EHR如何能够验证来自智能应用程序的请求是否合法来自真实的智能应用程序。但是,我不知道智能应用程序如何知道来自EHR的请求是合法的请求。智能应用程序是否有一种标准方法可以验证来自EHR的传入请求实际上是来自智能应用程序已注册的EHR的请求?换句话说,是否有一种内置到智能规范中的方法允许智能应用程序将使用限制到已认证的注册EHR?OAUTH2协议中是否有确保这一点的步骤 我在这里查看智能授权指南: 以及Cerner教程/演示: 我们在这里讨论的是“EHR启动”流程,

我非常清楚,使用智能应用程序的EHR如何能够验证来自智能应用程序的请求是否合法来自真实的智能应用程序。但是,我不知道智能应用程序如何知道来自EHR的请求是合法的请求。智能应用程序是否有一种标准方法可以验证来自EHR的传入请求实际上是来自智能应用程序已注册的EHR的请求?换句话说,是否有一种内置到智能规范中的方法允许智能应用程序将使用限制到已认证的注册EHR?OAUTH2协议中是否有确保这一点的步骤

我在这里查看智能授权指南:

以及Cerner教程/演示:

我们在这里讨论的是“EHR启动”流程,即EHR启动的应用程序。该发射包括一个
iss
参数和一个不透明的
launch
参数,该参数指示(假设!)启动发射的EHR

此时,应用程序无法对请求进行身份验证,但它可以:

  • 检查以确保
    iss
    值与发卡机构知道的EHR(且有
    客户id
    )的发卡机构匹配
  • 通过重定向到EHR继续启动。如果启动正常,则启动ID有效。另一方面,如果EHR不识别启动ID或未将其与当前应用的
    客户端ID
    关联,则启动失败
  • 这是一种验证EHR身份的功能性方法:实际上,应用程序使用启动协议询问EHR此启动是否有效

    (如果您认为此协议留下了重要的功能或安全漏洞,请在chat.fhir.org上提出这一点!)