首页 > 解决方案 > 如何在 Kubernetes 上使用事件侦听器配置在 keycloak 上启用登录/注销事件日志记录?

问题描述

从 UI 中,我已启用登录/注销事件以登录 keycloak 服务器。

活动配置页面

仍然,在服务器日志中,存在以下错误消息:

11:30:31,159 ERROR [org.keycloak.services] (default task-2) KC-SERVICES0083: Event listener 'LOGOUT' registered, but provider not found
11:30:31,159 ERROR [org.keycloak.services] (default task-2) KC-SERVICES0083: Event listener 'LOGIN_ERROR' registered, but provider not found
11:30:31,161 ERROR [org.keycloak.services] (default task-2) KC-SERVICES0083: Event listener 'LOGIN' registered, but provider not found

需要哪个提供商来正确记录这些事件?

我已经在 Kubernetes 部署了 keycloak 作为服务。下面是部署配置文件:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: keycloak
  namespace: default
  labels:
    app: keycloak
spec:
  replicas: 1
  selector:
    matchLabels:
      app: keycloak
  template:
    metadata:
      labels:
        app: keycloak
    spec:
      containers:
      - name: keycloak
        image: quay.io/keycloak/keycloak:10.0.1
        env:
        - name: KEYCLOAK_USER
          value: "admin"
        - name: KEYCLOAK_PASSWORD
          value: "admin"
        - name: REALM
          value: "app-example"
        - name: PROXY_ADDRESS_FORWARDING
          value: "true"
        - name: DB_ADDR
          value: "postgres"
        - name: DB_PORT
          value: "5432"
        - name: DB_DATABASE
          value: "postgresdb"
        - name: DB_USER
          value: "postgresadmin"
        - name: DB_PASSWORD
          value: "admin123"
        - name: DB_SCHEMA
          value: "keycloak"
        - name: KEYCLOAK_LOGLEVEL
          value: "INFO" 
        - name: KEYCLOAK_IMPORT
          value: "/opt/jboss/keycloak/startup/elements/realm.json"
        volumeMounts:
        - mountPath: /opt/jboss/keycloak/startup/elements
          name: elements
        ports:
        - name: http
          containerPort: 8080
        - name: https
          containerPort: 8443
        readinessProbe:
          httpGet:
            path: /auth/realms/master
            port: 8080
      volumes:
      - name: elements
        configMap:
          name: keycloak-elements
      initContainers:
      - name: init-postgres
        image: busybox
        command: ['sh', '-c', 'until nslookup postgres; do echo waiting for postgres; sleep 2; done;']    

让我知道,在 keycloak 服务器上启用这些事件日志所需的更改

标签: kuberneteskeycloakkeycloak-rest-api

解决方案


推荐阅读