I'm trying to build a frontend application in Angular 9 and the backend in spring boot.
Using keycloak to authenticate and authorize users.
I created 2 clients on keycloak a frontend with a public access type and a bearer only backend.
The angular app is configured using this tutorial https://www.npmjs.com/package/keycloak-angular
The spring boot app is configured with this application.properties
spring.profiles.active=development
server.port=9000
keycloak.enabled = true
keycloak.realm = test-realm
keycloak.auth-server-url = http://localhost:8080/auth/
keycloak.ssl-required = external
keycloak.resource = backend
keycloak.credentials.secret = 5353e8ee-80b5-4c2b-b543-c08247475868
keycloak.use-resource-role-mappings = true
keycloak.bearer-only = true
keycloak.cors = true
keycloak.securityConstraints[0].securityCollections[0].name = protected resource
keycloak.securityConstraints[0].authRoles[0] = user
keycloak.securityConstraints[0].securityCollections[0].patterns[0] = /products
keycloak.securityConstraints[0].securityCollections[0].patterns[1] = /products/
When I try to post on /products from the angular app I get
Looking at various examples I tried to modify springboot's application.properties file in this way
spring.profiles.active=development
server.port=9000
keycloak.enabled = true
keycloak.realm = test-realm
keycloak.auth-server-url = http://localhost:8080/auth/
keycloak.ssl-required = external
keycloak.resource = frontend
keycloak.bearer-only = true
keycloak.public-client=true
keycloak.cors = true
keycloak.securityConstraints[0].securityCollections[0].name = protected resource
keycloak.securityConstraints[0].authRoles[0] = user
keycloak.securityConstraints[0].securityCollections[0].patterns[0] = /products
keycloak.securityConstraints[0].securityCollections[0].patterns[1] = /products/
And works, but from what i understand, the most correct way would be to have 2 separate clients on keycloak for frontend and backend.
where am i wrong, why i get the CROS error??? I checked this section on Angular app, but is ok https://www.npmjs.com/package/keycloak-angular#client-configuration
I think the problem is an incorrect configuration on Angular but I don't know what.


