2016-01-28 8 views
3

Я использую Cloudtrax HTTP Authentication API , чтобы создать пользовательскую логику аутентификации маршрутизатора, имеющую скрытый портал.Отладка API проверки подлинности HTTP-протокола Cloudtrax

Когда маршрутизатор запрашивает запрос состояния, сервер отвечает следующим образом:

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

Какой должна быть де правильный формат ответа для входа пользователя. Проблема в том, что плененный портал все еще присутствует.

Я не знаю, в чем проблема, и я не могу найти журнал на маршрутизаторе или cloudtrax, чтобы узнать, что может быть неправильным.

Edit:

Я обрабатываю строку RA на Джанго (Python):

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

Использование 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