我正在研究FreeRADIUS 3.0.15与NodeJS中的API服务器之间的集成,该服务器将处理计费、授权和身份验证。所有这些都有文档记录(例如,这个回购是一个非常有价值的起点),并且相对简单明了。
但是,我也想使用动态客户端模块,让我的API服务器决定是否允许客户机。除了这条线邮件列表中的FreeRADIUS之外,我找不到任何有关这方面的文档,其中包含一个关于如何让远程API授权客户端的工作示例:
# /sites-available/dynamic-clients
server dynamic_clients {
authorize {
if ("%{rest: https://url?ipaddress='%{Packet-Src-IP-Address}'}") {
update control {
&FreeRADIUS-Client-IP-Address = "%{Packet-Src-IP-Address}"
&FreeRADIUS-Client-Shortname = "%{rest: https://url?ipaddress='%{Packet-Src-IP-Address}'&return=shortname}"
&FreeRADIUS-Client-Secret = "%{rest: https://url?ipaddress='%{Packet-Src-IP-Address}'}&return=secret"
}
}
ok
}
}这是可行的,尽管存在以下几个问题:
在这方面,我错过了REST 扩容的语法,我环顾四周,却找不到任何东西(我找到的唯一文件页是没有可用的扩展)。
发布于 2018-02-13 16:17:09
raddb/mods-可用/休息中记录了JSON响应格式。邮件列表中的链接最初链接到一个锚,锚也显示了相同的JSON响应格式,但是这些都过时了。
rlm_rest模块。如果您想对服务器的响应进行后处理,则需要进行字符串扩展。假设您有一个未以正确格式返回JSON blob的自定义API,您可以获取rest扩展的输出,通过JSON映射输入它并以这种方式提取数据.至少您可以在v4.0.x中使用,而不是v3.0.x。https://serverfault.com/questions/896918
复制相似问题