keycloak设置某些接口不需要认证即可访问

  • Post author:
  • Post category:其他




keycloak放行接口的访问权限


1. 场景

有个后端服务,共有4个接口提供服务,接口url分别为:

  • /api/a
  • /api/b
  • /api/c
  • /api/d

用户角色为:

  • admin
  • user

要求:

  • admin可以访问所有接口;
  • user只可以方位/api/a
  • /api/c和/api/d不需要授权即可访问


2. 解决方案:


keycloak配置文件:

keycloak.realm=demo
keycloak.auth-server-url=http://localhost:8080/auth
keycloak.resource=demo-cli
keycloak.credentials.secret=1212312312321312312312312312
keycloak.securityConstraints[0].authRoles[0]=admin
keycloak.securityConstraints[0].authRoles[1]=user
keycloak.securityConstraints[0].securityCollections[0].name=protected1
keycloak.securityConstraints[0].securityCollections[0].patterns[0]=/api/a
keycloak.securityConstraints[1].authRoles[0]=admin
keycloak.securityConstraints[1].securityCollections[0].name=protected2
keycloak.securityConstraints[1].securityCollections[0].patterns[0]=/api/b
keycloak.securityConstraints[2].securityCollections[0].patterns[0]=/api/c
keycloak.securityConstraints[2].securityCollections[0].patterns[1]=/api/d



版权声明:本文为MRLEE1212原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。