当前位置: 首页 > 知识库问答 >
问题:

Keycloak前端和后端客户端

燕翔飞
2023-03-14
{
   "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

这是来自领域设置

共有1个答案

伍心水
2023-03-14

这也许能帮上什么忙。我的后端服务是带有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协议是全新的。