You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

FreeRadius与REST API集成时认证失败的问题求助

FreeRadius与REST API集成时认证失败的问题求助

大家好,我正在尝试把FreeRadius集成到我们的平台里,通过平台的REST API来实现认证功能。目前FreeRadius服务器和REST API都跑在Docker容器里,用docker-compose关联起来了。

经过反复调试,现在FreeRadius已经能成功调用REST服务,我也能看到API返回了正确的响应,但就算用已知的有效凭证,认证还是失败了。

我的配置如下:

sites-enabled/default 中的授权与认证段

authorize {

# Use REST API for authorization if we have a password

if (&User-Password) {

update control {

Auth-Type := 'rest'

}

}

}

authenticate {

rest

}

mods-enabled/rest 文件配置

connect_uri = "http://freeradiusapi:8080/"

authorize {

uri = "${..connect_uri}check/%{User-Name}"

method = 'get'

}

authenticate {

uri = "${..connect_uri}auth/%{User-Name}/%{User-Password}"

method = 'get'

}

API确实被正确调用了,而且返回了HTTP 200状态码,下面是日志的关键片段:

freeradius     | (0) Received Access-Request Id 228 from 172.18.0.2:59890 to 172.18.0.6:1812 length 47
freeradius     | (0)   User-Name = "shughes"
freeradius     | (0)   User-Password = "bananas123"
freeradius     | (0) # Executing section authorize from file /etc/freeradius/sites-enabled/default
freeradius     | (0)   authorize {
freeradius     | (0)     if (&User-Password) {
freeradius     | (0)     if (&User-Password)  -> TRUE
freeradius     | (0)     if (&User-Password)  {
freeradius     | (0)       update control {
freeradius     | (0)         Auth-Type := rest
freeradius     | (0)       } # update control = noop
freeradius     | (0)     } # if (&User-Password)  = noop
freeradius     | (0)   } # authorize = noop
freeradius     | (0) Found Auth-Type = rest
freeradius     | (0) # Executing group from file /etc/freeradius/sites-enabled/default
freeradius     | (0)   authenticate {
freeradius     | rlm_rest (rest): 0 of 0 connections in use.  You  may need to increase "spare"
freeradius     | rlm_rest (rest): Opening additional connection (0), 1 of 32 pending slots used
freeradius     | rlm_rest (rest): Connecting to "http://freeradiusapi:8080/"
freeradius     | rlm_rest (rest): Reserved connection (0)
freeradius     | (0) rest: Expanding URI components
freeradius     | (0) rest: EXPAND http://freeradiusapi:8080
freeradius     | (0) rest:    --> http://freeradiusapi:8080
freeradius     | (0) rest: EXPAND /auth/%{User-Name}/%{User-Password}
freeradius     | (0) rest:    --> /auth/myuser/mypassword
freeradius     | (0) rest: Sending HTTP GET to "http://freeradiusapi:8080/auth/myuser/mypassword"
freeradius     | (0) rest: Processing response header
freeradius     | (0) rest:   Status : 200 (OK)
freeradius     | (0) rest:   Type   : json (application/json)
freeradius     | (0) rest: Adding reply:REST-HTTP-Status-Code = "200"
freeradius     | (0) rest: Parsing attribute "control:Auth-Type"
freeradius     | (0) rest: EXPAND Accept
freeradius     | (0) rest:    --> Accept
freeradius     | (0) rest: Auth-Type := Accept
freeradius     | rlm_rest (rest): Released connection (0)
freeradius     | Need more connections to reach 10 spares
freeradius     | rlm_rest (rest): Opening additional connection (1), 1 of 31 pending slots used
freeradius     | rlm_rest (rest): Connecting to "http://freeradiusapi:8080/"
freeradius     | (0)     [rest] = updated
freeradius     | (0)   } # authenticate = updated
freeradius     | (0) Failed to authenticate the user
freeradius     | (0) Using Post-Auth-Type Reject
freeradius     | (0) # Executing group from file /etc/freeradius/sites-enabled/default
freeradius     | (0)   Post-Auth-Type REJECT {
freeradius     | (0)     [rest] = noop
freeradius     | (0)   } # Post-Auth-Type REJECT = noop
freeradius     | (0) Delaying response for 1.000000 seconds
freeradius     | Waking up in 0.9 seconds.
freeradius     | (0) Sending delayed response
freeradius     | (0) Sent Access-Reject Id 228 from 172.18.0.6:1812 to 172.18.0.2:59890 length 20
freeradius     | Waking up in 3.9 seconds.
freeradius     | (0) Cleaning up request packet ID 228 with timestamp +5 due to cleanup_delay was reached

今天早些时候我确实让它正常工作过,但现在实在找不到哪里出问题了,希望大家能给我一些思路,非常感谢!

备注:内容来源于stack exchange,提问作者Simon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.21 11:50:27