Coder Social home page Coder Social logo

Comments (4)

dductrung avatar dductrung commented on July 28, 2024

My settings are these: ° keycloak radius plugin installed quarks. (ubuntu 20.04.3) ( external server ) running: /opt/keycloak-radius# bin/kc.sh start --hostname=mydomain.cloud --hostname-strict-backchannel=true --https-port=8443 ° configured https tls and hostname external ip ( no proxy ). ° radius over TLS configured as radsec port 1812 ,1813. ° configured "mikrotik-radius-plugin" only for login mikrotik ° user created for login test

My Mikrotik ° Routerboard RB750GR3 version 6.49.6 (stable) ° configured radius radsec, accouting AAA

The mistake: when i go to login by winbox i get the following error in keycloak terminal. errorterminal

[com.github.vzakharchenko.radius.radius.handlers.AuthHandler] (pool-3-thread-1) failed with message: java.lang.NullPointerException
2022-09-11 12:38:15,706 ERROR [com.github.vzakharchenko.radius.radius.handlers.AuthHandler] (pool-3-thread-2) failed with message: java.lang.NullPointerException
at org.keycloak.events.EventBuilder.(EventBuilder.java:55)
at com.github.vzakharchenko.radius.event.log.EventLoggerUtils.createEvent(EventLoggerUtils.java:32)
at com.github.vzakharchenko.radius.event.log.EventLoggerUtils.createMasterEvent(EventLoggerUtils.java:23)
at com.github.vzakharchenko.radius.radius.handlers.protocols.AbstractAuthProtocol.isValid(AbstractAuthProtocol.java:94)
at com.github.vzakharchenko.radius.radius.handlers.AuthHandler.channelRead0(AuthHandler.java:108)
at com.github.vzakharchenko.radius.radius.handlers.AuthHandler.lambda$channelReadRadius$0(AuthHandler.java:126)
at org.keycloak.models.utils.KeycloakModelUtils.runJobInTransaction(KeycloakModelUtils.java:250)
at com.github.vzakharchenko.radius.radius.handlers.AuthHandler.channelReadRadius(AuthHandler.java:124)
at com.github.vzakharchenko.radius.radius.handlers.AuthHandler.directRead(AuthHandler.java:159)
at com.github.vzakharchenko.radsec.handlers.RadSecHandler.lambda$channelReadRadius$0(RadSecHandler.java:42)
at org.keycloak.models.utils.KeycloakModelUtils.runJobInTransaction(KeycloakModelUtils.java:250)
at com.github.vzakharchenko.radsec.handlers.RadSecHandler.channelReadRadius(RadSecHandler.java:36)
at com.github.vzakharchenko.radius.radius.handlers.AbstractThreadRequestHandler.lambda$channelRead0$0(AbstractThreadRequestHandler.java:18)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:829)

STATUS RADIUS ROUTERBOARD

radiusmikrotikstatus2

I don't know where I'm going wrong.

I have same problem :(

from keycloak-radius-plugin.

luanscps avatar luanscps commented on July 28, 2024

I just solved it by doing a fresh install
maybe to some configuration that I went wrong

the problem may be involved in the radius authentication issue
radsec or udp protocol.

from keycloak-radius-plugin.

dductrung avatar dductrung commented on July 28, 2024

I just solved it by doing a fresh install maybe to some configuration that I went wrong

the problem may be involved in the radius authentication issue radsec or udp protocol.

I still have this problem even fresh install with maven or docker. Can you write a guide for install and config keycloak and mikrotik?
i have error when create new client with client type radius-protocol
image

Here is my Dockerfile and docker-compose:
Dockerfile
FROM vassio/keycloak-radius-plugin:latest as builder
ENV KC_METRICS_ENABLED=true
ENV KC_FEATURES=token-exchange
ENV KC_DB=postgres
#RUN /opt/radius/scripts/docker-radius-entrypoint.sh build --db=postgres
RUN /opt/keycloak/bin/kc.sh build --db=postgres
FROM vassio/keycloak-radius-plugin:latest
COPY --from=builder /opt/keycloak/lib/quarkus/ /opt/keycloak/lib/quarkus/
WORKDIR /opt/keycloak
EXPOSE 8080
EXPOSE 9990
EXPOSE 1812/udp
EXPOSE 1813/udp
ENTRYPOINT [ "/opt/radius/scripts/docker-radius-entrypoint.sh" ]

docker-compose
services:
keycloak:
image: keycloak-custom:latest
environment:
KEYCLOAK_ADMIN: admin
KEYCLOAK_ADMIN_PASSWORD: admin
KEYCLOAK_HOSTNAME: keycloak
KC_PROXY: edge
KC_HOSTNAME_STRICT_HTTPS: 'true'
KC_DB_URL: jdbc:postgresql://postgres:5432/keycloak
KC_DB: postgres
KC_DB_USERNAME: keycloak
KC_DB_PASSWORD: keycloak
RADIUS_SHARED_SECRET: secret
RADIUS_UDP: 'true'
RADIUS_UDP_AUTH_PORT: 1812
RADIUS_UDP_ACCOUNT_PORT: 1813
RADIUS_RADSEC: 'false'
RADIUS_DICTIONARY: ''
RADIUS_RADSEC_PRIVATEKEY: /config/private.key
RADIUS_RADSEC_CERTIFICATE: /config/public.crt
RADIUS_COA: 'false'
RADIUS_COA_PORT: 3799
"keycloak.profile.feature.upload_scripts": enabled
ports:
- "8080:8080" # UI
- "8190:8190" # DEBUG
- "1812:1812/udp" # RADIUS
- "1813:1813/udp" # RADIUS
depends_on:
- postgres
restart: always
entrypoint: sh /opt/radius/scripts/docker-entrypoint.sh start --http-port=8080 --http-enabled=true --hostname-strict-https=false --hostname-strict=false

postgres:
image: postgres:14.2-alpine
volumes:
- ./postgres_data:/var/lib/postgresql/data
environment:
POSTGRES_DB: keycloak
POSTGRES_USER: keycloak
POSTGRES_PASSWORD: keycloak
restart: always

from keycloak-radius-plugin.

Startvy avatar Startvy commented on July 28, 2024

I found out that we need to use realm id instead of realm name

I just export realm configuration to get id

image

image

and paste it to MikroTik radius Realm field

image

from keycloak-radius-plugin.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.