【问题标题】:HAPI FHIR OpenAPI Authentication ConfigurationHAPI FHIR OpenAPI 认证配置
【发布时间】:2022-04-12 16:03:40
【问题描述】:

您好,使用 HAPI 搭建小型 FHIR v4 服务器。我不喜欢 Spring/Java 很难弄清楚如何使用 HAPI FHIR 配置 openapi。具体来说,我想配置 openapi 以提供一个按钮来对用户进行身份验证(对我的 IDP 进行隐式流),然后再允许他们访问我的 FHIR 端点。内置的 HAPI OpenApiInterceptor 是否可以提供身份验证机制?

https://hapifhir.io/hapi-fhir/docs/server_plain/openapi.html

为了澄清,我可以添加拦截器并获取招摇页面以提供服务,但我无法弄清楚如何配置拦截器,以便我可以提供一种机制来验证用户。此代码块有效,但似乎没有为我提供配置 swagger auth 的方法。

   @Override
   protected void initialize() throws ServletException {

      // ... define your resource providers here ...

      // Now register the interceptor
      OpenApiInterceptor openApiInterceptor = new OpenApiInterceptor();
      registerInterceptor(openApiInterceptor);

   }

【问题讨论】:

    标签: openapi hapi hapi-fhir


    【解决方案1】:

    OpenApiInterceptor 不执行用户授权。 Hapi 为我们提供了各种拦截器来执行一些任务 在你的情况下,你应该参考这个,它会给你一些想法。

    Hapi fhir authorization interceptor

    【讨论】:

      【解决方案2】:

      您可以扩展 OpenApiInterceptor 类和@Override "generateOpenApi" 方法来添加您额外需要的OpenAPI 配置调用父方法后

      public class CustomOpenApiInterceptor extends OpenApiInterceptor {
      
      ...
      
      @Override
      protected OpenAPI generateOpenApi(ServletRequestDetails theRequestDetails) {
          OpenAPI openApi = super.generateOpenApi(theRequestDetails);
          // Add Authentication to OAS spec.
          openApi.getComponents().addSecuritySchemes("oauth2schema", oauth2ImplicitSecurityScheme());
          SecurityRequirement securityRequirement = new SecurityRequirement();
          securityRequirement.addList("oauth2schema");
          openApi.security(Collections.singletonList(securityRequirement));
          return openApi;
      }
      
      ...
      

      }

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-12-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-08-20
        相关资源
        最近更新 更多