Spring Boot - KeyCloak指向403禁止

Cha*_*uka 5 java spring-boot keycloak

我是Keycloak的新手,我正在使用https://github.com/sebastienblanc/spring-boot-keycloak-tutorial上的官方教程项目

为了与Springboot应用程序集成,我已经成功设置了KeyCloak服务器,并且Spring引导应用程序也指向我在KeyCloak上创建的Realm上创建的客户端应用程序,之后提供了它指向禁止页面的正确凭据.

@Controller
class ProductController {

@GetMapping(path = "/products")
public String getProducts(Model model){
    model.addAttribute("products", Arrays.asList("iPad","iPhone","iPod"));
    return "products";
}

@GetMapping(path = "/logout")
public String logout(HttpServletRequest request) throws ServletException {
    request.logout();
    return "/";
}
}
Run Code Online (Sandbox Code Playgroud)

Application.properties文件

keycloak.auth-server-url=http://localhost:8080/auth
keycloak.realm=springdemo
keycloak.resource=product-app
keycloak.public-client=true

keycloak.security-constraints[0].authRoles[0]=testuser
keycloak.security-
constraints[0].securityCollections[0].patterns[0]=/products/*

server.port=8081
Run Code Online (Sandbox Code Playgroud)

我没有从KeyCloak控制台或spring嵌入式tomcat控制台收到任何错误消息.

在这里检查tomcat控制台 - 没有错误 在此输入图像描述

谢谢.

Séb*_*anc 4

我认为您有一个拼写错误 keycloak.security-constraints[0].authRoles[0]=testuser,您应该在此处指定角色而不是用户。如果您按照博文说明进行操作,则应该是: keycloak.security-constraints[0].authRoles[0]=user