Cloudtrax HTTP身份验证API调试

时间:2016-01-28 15:07:02

标签: http openwrt captivenetwork captiveportal

我正在使用Cloudtrax HTTP Authentication API 为具有强制门户的路由器身份验证创建自定义逻辑。

当路由器请求状态请求时,服务器会响应以下内容:

"CODE" "ACCEPT"
"RA" "1c65684265a2bb1a7c87e4d9565c2b18"
"SECONDS" "3600"
"DOWNLOAD" "2000"
"UPLOAD" "800"

哪个应该是登录用户的答案的正确格式。问题是强制门户仍然存在。

我不知道可能出现什么问题,我无法在路由器或cloudtrax上找到日志,看看可能出现的问题。

编辑:

我正在处理django(python)上的RA字符串:

import hashlib

def calculate_ra(request, response):
    code = response.get('CODE')
    if not code:
        return ''

    previus_ra = request.GET.get('ra')

    if not previus_ra:
        return ''

    if len(previus_ra) != 32:
        return ''

    previus_ra = previus_ra.decode('hex')

    m = hashlib.md5()
    m.update('{}{}{}'.format(code, previus_ra, SECRET))

    response['RA'] = m.hexdigest()

1 个答案:

答案 0 :(得分:0)

使用SSH登录路由器并通过发送以下命令启用调试模式:

uci set http_portal.general.syslog=debug
uci commit
/etc/init.d/underdogsplash restart

然后使用logread -f实时查看日志。

完成后不要忘记禁用调试模式:

uci set http_portal.general.syslog=err
uci commit
/etc/init.d/underdogsplash restart