Neo4J 凭据不适用于 JHipster 生成的 Spring 启动应用程序

Neo4J credentials not working for JHipster generated Spring Boot application

当我将 JHipster 应用程序部署到 Heroku 并连接到 GrapheneDB Neo4J 实例(版本 3.5.17)时,应用程序无法连接到 Neo4J 实例。我试图在本地重现错误,认为它与版本不匹配有关,因为本地 Neo4J 的 Docker 版本是 4.0。

但是,我使用任一版本的 Neo4J 将错误定位在 presence/absence 凭据中。

工作版本有这个 docker-compose.yml 文件条目:

    environment:
      - NEO4J_AUTH=none

application.yml 中的条目:

org:
  neo4j:
    driver:
      uri: bolt://localhost:7687

此版本可以连接。引入凭据后,条目如下所示,docker-compose.yml:

    environment:
      - NEO4J_AUTH=myapplication/myapplication

application.yml:

org:
  neo4j:
    driver:
      uri: bolt://localhost:7687
      authentication:
        username: myapplication
        password: myapplication

此版本无法连接。在 Spring Boot 以及 neo4j docker 图像中设置凭据的正确方法是什么?还有什么我想念的吗?

从我的本地机器连接到 GrapheneDB 实例出现同样的错误,所以我怀疑问题出在驱动程序配置中。一些搜索结果提到 org.neo4j.driver.username 而不是 org.neo4j.driver.authentication.username 但我都试过了,结果是一样的。

事实证明我被 Neo4J 文档误导了,它说默认情况下加密是打开的。我需要做的就是:

org.neo4j.driver.config.encrypted=true

或合并,在 YAML 中:

org:
  neo4j:
    driver:
      uri: bolt://localhost:7687
      authentication:
        username: myapplication
        password: myapplication
      config:
        encrypted: true

有关完整配置,请参阅:https://neo4j.com/developer/driver-spring-boot-starter/