4.6. 配置应用程序
OIDC 扩展允许您使用 src/main/resources
目录中的 application.properties
文件来定义配置。
%prod.quarkus.oidc.auth-server-url=http://localhost:8180/realms/quarkus quarkus.oidc.client-id=frontend quarkus.oidc.credentials.secret=secret quarkus.oidc.application-type=web-app quarkus.http.auth.permission.authenticated.paths=/* quarkus.http.auth.permission.authenticated.policy=authenticated
这是在为应用程序启用身份验证时可以拥有的最简单配置。
quarkus.oidc.client-id
属性引用 OIDC 供应商发布的 client_id
,quarkus.oidc.credentials.secret
属性设置客户端 secret。
quarkus.oidc.application-type
属性被设置为 web-app
告知 Quarkus 您要启用 OIDC 授权代码流,以便您的用户重定向到 OIDC 供应商进行验证。
最后,quarkus.http.auth.permission.authenticated
权限被设置为告诉 Quarkus 您要保护的路径。在这种情况下,所有路径都由策略保护,以确保只有 经过身份验证的用户
可以访问它们。有关更多信息,请参阅 安全授权指南。
如果您没有使用 quarkus.oidc.credentials.secret
配置客户端 secret,建议配置 quarkus.oidc.token-state-manager.encryption-secret
。
quarkus.oidc.token-state-manager.encryption-secret
启用默认令牌状态管理器来加密浏览器 Cookie 中的用户令牌。如果没有定义此密钥,并且未配置 quarkus.oidc.credentials.secret
回退,Quarkus 将使用随机密钥。随机密钥会导致在应用程序重启时或带有多个应用程序实例的环境中使现有登录无效。或者,也可以通过将 quarkus.oidc.token-state-manager.encryption-required
设置为 false
来禁用加密。但是,您应该只在开发环境中禁用 secret 加密。
建议长度为 32 个字符的加密 secret。例如,quarkus.oidc.token-state-manager.encryption-secret=AyM1SysPpbyDfgZld3umj1qzKObwVMk