【发布时间】:2017-09-13 09:38:26
【问题描述】:
Keycloak 版本 2.4.0_FINAL。
在我的 Spring Boot REST API 中,我想在 Keycloak 中验证不记名令牌。
我按照以下步骤操作:
我将 maven 依赖项和以下内容添加到 application.properties。
keycloak.realm = realm
keycloak.auth-server-url = http://localhost:8080/auth
keycloak.ssl-required = external
keycloak.resource = app
keycloak.bearer-only = true
keycloak.credentials.secret = ...
keycloak.securityConstraints[0].securityCollections[0].patterns[0] = /r/secure/*
下一步是什么?据我说,这是最后一步,但它似乎没有做任何事情。
更新 应用程序属性:
server.port = 8081
org.keycloak keycloak-tomcat8-adapter 2.4.0.Final
keycloak.realm = myapp
keycloak.auth-server-url = http://localhost:8080/auth
keycloak.ssl-required = external
keycloak.resource = mybackend
keycloak.bearer-only = true
keycloak.credentials.secret = ...
keycloak.use-resource-role-mappings = false
keycloak.securityConstraints[0].securityCollections[0].name = secure
keycloak.securityConstraints[0].securityCollections[0].patterns[0] = /r/secure/*
【问题讨论】:
-
你的问题是什么,什么不起作用?
-
keycloak 何时验证令牌?我仍然可以在没有令牌的情况下访问 api,没有反馈。
-
spring boot 在哪个端口上运行,keycloak 在哪个端口上运行?
-
弹簧启动在 8081 端口(默认除外)
-
我已经让弹簧安全适配器 + 弹簧靴一起正常工作。但是,如果您的配置不适合您,您应该进行一些调试。启用 keycloak 适配器的日志(通过
logging.level.org.keycloak=DEBUG)并查看发生了什么。
标签: spring keycloak bearer-token