{
"realm": "xyz",
"auth-server-url": "http://localhost:8333/auth/",
"ssl-required": "external",
"resource": "frontend-app",
"public-client": true,
"confidential-port": 0,
"enable-cors": true
}
后端
keycloak.auth-server-url=http://localhost:8333/auth
keycloak.realm=xyz
keycloak.resource=backend-app
keycloak.principal-attribute=preferred_username
keycloak.bearer-only=true
keycloak.credentials.secret=xxx-xxx-xxx
这是来自领域设置
这也许能帮上什么忙。我的后端服务是带有spring security keycloakAuthenticationProvider的springboot项目,它对从前端公共客户端接收的令牌进行身份验证。
前端呼叫
axios({
method: 'GET',
url: '/api/authenticate',
headers:{'Authorization': 'Bearer '+keycloak.token+''}
}).then((r) => {
console.log("response",r)
})
调用后端
@GetMapping("/api/authenticate")
public ResponseEntity<SecureUserDto> authenticate() {
String username = SecurityContextHolder.getContext().getAuthentication().getPrincipal().toString();
User user = userRepository.findWithPrivilegesByUsername(username);
return ResponseEntity.ok();
}
我们使用keycloak-adapter与Jetty一起使用KeyCloak进行身份验证和授权。根据OIDC Auth流程的Keycloak文档: 我们有连接到Jetty并使用Auth的webapps。因此,我们创建了一个公共客户端,它对WebApp/REST身份验证非常有效。 问题是,一旦我们启用授权,客户端类型就会从公共类型转换为机密类型,并且不允许将其重置为公共类型。现在,我们在汤里。由于授
我试图在Angular 9中构建前端应用程序,在spring boot中构建后端应用程序。 使用KeyClope对用户进行身份验证和授权。 我在Key斗篷上创建了两个客户端,一个前端是公共访问类型,一个后端是仅承载的。 angular应用程序是使用本教程配置的https://www.npmjs.com/package/keycloak-angular spring boot应用程序配置了此应用程序
我有一个前端和后端应用程序(angular spring boot)。前端用作静态web内容,然后它将其余调用发送到同一端口上的后端API。 带有OpenID协议的keydape用于用户身份验证和角色管理。在需要身份验证的请求中,浏览器被重定向到KeyClope,用户给出用户名和密码,然后用户角色被返回到浏览器并写入访问令牌。 随后前端将此访问令牌与每个请求一起发送,后端在满足请求之前根据KeyC
如果可能的话请告诉我。另外,我想传达的是Keycloak和openid-connect协议是全新的。