Closed Nitive closed 9 years ago
Да есть такое пока механизм сессий полностью не переделан на токены. Нужно вызвать http://fhq.keva.su/api/security/logoff.php
Best regards Evgenii Sopov https://www.facebook.com/eugene.sopov https://github.com/sea-kg/ other e-mails: sea-kg@ya.ru skype: sea-kg icq: 487767371
2015-05-16 16:35 GMT+06:00 Maxim notifications@github.com:
email = 'my_emal' password = 'my_password' import requests
res = requests.post('http://fhq.keva.su/api/security/login.php?email=' + email + '&password=' + password) token = res.json()['data']['token'] res2 = requests.post('http://fhq.keva.su/api/games/choose.php?id=5&token=' + token)print(res2.json())
output:
{'result': 'fail', 'error': {'message': 'Error 1317: Please relogon', 'code': 1317}, 'data': []}
— Reply to this email directly or view it on GitHub https://github.com/sea-kg/fhq/issues/119.
Так не работает
email = 'my_emal'
password = 'my_password'
import requests
# get old token
oldToken = requests.post('http://fhq.keva.su/api/security/login.php?email=' + email + '&password=' + password).json()['data']['token']
# logout (logoff was not found)
requests.post('http://fhq.keva.su/api/security/logout.php&token=' + oldToken)
# get new token
token = requests.post('http://fhq.keva.su/api/security/login.php?email=' + email + '&password=' + password).json()['data']['token']
print(requests.post('http://fhq.keva.su/api/games/choose.php?id=5&token=' + token).json())
# output:
{'data': [], 'result': 'fail', 'error': {'code': 1317, 'message': 'Error 1317: Please relogon'}}
просто logoff вызови перед logon
Best regards Evgenii Sopov https://www.facebook.com/eugene.sopov https://github.com/sea-kg/ other e-mails: sea-kg@ya.ru skype: sea-kg icq: 487767371
2015-05-16 16:46 GMT+06:00 Maxim notifications@github.com:
Так не работает
email = 'my_emal' password = 'my_password' import requests
get old token
oldToken = requests.post('http://fhq.keva.su/api/security/login.php?email=' + email + '&password=' + password).json()['data']['token']
logout (logoff was not found)
requests.post('http://fhq.keva.su/api/security/logout.php&token=' + oldToken)
get new token
token = requests.post('http://fhq.keva.su/api/security/login.php?email=' + email + '&password=' + password).json()['data']['token']
print(requests.post('http://fhq.keva.su/api/games/choose.php?id=5&token=' + token).json())
output:
{'data': [], 'result': 'fail', 'error': {'code': 1317, 'message': 'Error 1317: Please relogon'}}
— Reply to this email directly or view it on GitHub https://github.com/sea-kg/fhq/issues/119#issuecomment-102607353.
The requested URL /api/security/logoff.php
was not found on this server.
Да конечно: api/security/logout.php
email = 'my_emal'
password = 'my_password'
import requests
# logout
requests.post('http://fhq.keva.su/api/security/logout.php')
# get new token
token = requests.post('http://fhq.keva.su/api/security/login.php?email=' + email + '&password=' + password).json()['data']['token']
print(requests.post('http://fhq.keva.su/api/games/choose.php?id=5&token=' + token).json())
Все равно {'error': {'code': 1317, 'message': 'Error 1317: Please relogon'}, 'result': 'fail', 'data': []}
как работает на js
var fhq = new FHQFrontEndLib();
fhq.client = "web-fhq2014";
fhq.baseUrl = fhq.getCurrentApiPath(); // or another path
if (fhq.token && fhq.token != "") // todo
fhq.security.logout();
function login() {
var obj = fhq.security.login(this.email.value,this.password.value);
if (obj.result == "fail") {
this.error_message.innerHTML = "<b>" + obj.error.message + "</b>";
this.info_message.innerHTML = "";
} else {
window.location.href = "main.php";
}
}
и попробуй без токенов работать.
кажется знаю в чем проблема. Вечером поправлю.
Забыл, что есть front-end lib, попробую через нее
))))) static function userid() { // TODO $FHQSESSION $userid = (APISecurity::isLogged() && isset($_SESSION['user']['id'])) ? $_SESSION['user']['id'] : ''; if (intval($userid) == 0) { session_destroy(); APIHelpers::showerror(1317, 'Please relogon'); } return $userid; }
без полноценного тестирования плохо (((
Не работает не первый скрипт, не с logout
тогда вечером начну писать либу на питоне что бы тестить апи( 17 мая 2015 г. 15:41 пользователь "Maxim" notifications@github.com написал:
Не работает не первый скрипт, не с logout
— Reply to this email directly or view it on GitHub https://github.com/sea-kg/fhq/issues/119#issuecomment-102773452.
Дошло, что данные в post запрос передаю как в get Исправил, но все равно не помогло
import requests
# get new token
token = requests.post('http://fhq.keva.su/api/security/login.php', {'email': email, 'password': password}).json()['data']['token']
print(token) # token is correct
print(requests.post('http://fhq.keva.su/api/games/choose.php', {'token': token, 'id': 5}).json())
я исправляю сейчас еще ((( там бардак полный мне нужно время + начал писать test.py для бекэнда. могу подготовить виртуалку с девелоп версией. надо? или подождешь пока исправлю все?
Подожду