如何使用spring data jpa访问azure ad集成的postgres db?

pdtvr36n  于 2021-07-23  发布在  Java
关注(0)|答案(0)|浏览(199)

我们有一个postgresql单服务示例在azure中运行,它集成了azure ad。所以要通过 psql 我遵循以下步骤:
通过登录 az login 检索访问令牌 $env:PGPASSWORD=$(az account get-access-token --resource-type oss-rdbms --query accessToken --output tsv) 登录 psql "host=single-server-instance.postgres.database.azure.com user=aad_group@single-server-instance dbname=demodb" 到现在为止,一直都还不错。但是我如何使用spring数据jpa来做到这一点呢?
这就是我现在的想法 application.properties 文件看起来像。当然,我不想一次又一次地插入访问令牌。

logging.level.org.hibernate.SQL=DEBUG

spring.datasource.url=jdbc:postgresql://single-server-instance.postgres.database.azure.com:5432/demodb
spring.datasource.username=aad_group@single-server-instance
spring.datasource.password=eyJ...there goes the access token

spring.jpa.database-platform=org.hibernate.dialect.PostgreSQLDialect    
spring.jpa.show-sql=true
spring.jpa.hibernate.ddl-auto=create-drop

这是我来自 build.gradle .

// ...
dependencies {
    implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
    implementation 'org.springframework.boot:spring-boot-starter-web'
    runtimeOnly 'org.postgresql:postgresql'
    testImplementation 'org.springframework.boot:spring-boot-starter-test'
}
// ...

问题:
我该把车开走吗 spring.datasource 以及 spring.jpa 配置部分,并将访问令牌提供给 spring.datasource.password 从那里?如果是,我该怎么做?它应该去哪里?
如何检索访问令牌并将其传递给spring数据?
我应该如何处理访问令牌的缓存?我必须处理刷新令牌和访问令牌到期吗?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题