Я пытаюсь выполнить автоматический вход пользователей на основе параметров запроса, но сеанс продолжает истекать, и пользователи продолжают перенаправляться на /users/login
Вот мой UsersController. php
public function login()
{
Log::config('InvalidSession', [
'className' => 'File',
'path' => LOGS,
'levels' => ['debug'],
'file' => 'InvalidSession',
]);
// Log::debug($this->request);
Log::debug($this->request['url']['redirect']);
$url_components = parse_url($this->request['url']['redirect']);
parse_str($url_components['query'], $params);
$OfferwallId = $params['oid'];
$UserId = $params['uid'];
Log::debug('new login functionality Oid[' . $OfferwallId . '] Uid[' . $UserId . ']');
$valid = true;
if (empty($OfferwallId)) {
$valid = false;
$this->Flash->error(__('Invalid Offerwall'));
}
if (empty($UserId)) {
$valid = false;
$this->Flash->error(__('Invalid User'));
}
Log::debug('Valid['.$valid.']');
if ($valid) {
// Log::debug($this->request);
//Log::debug($this->request['url']);
$Offerwalls = TableRegistry::get('Offerwalls');
$Offerwalls = $Offerwalls->find()->where(['Id' => $OfferwallId]);
if (count($Offerwalls) == 0) {
$valid = false;
$this->Flash->error(__('Invalid Offerwall Id'));
}
if ($valid) {
$Users = TableRegistry::get('Users');
$conditions = array(
'UserId' => $UserId,
'OfferwallId' => $OfferwallId,
);
if ($this->Users->exists($conditions)) {
$user = $Users->find()->where($conditions);
$user = $user->toArray();
$this->Auth->setUser($user);
Log::debug('Setting user , probably session as well and redirecting');
return $this->redirect(
array(
"controller" => "Users",
"action" => "surveys",
"oid" => $OfferwallId,
"uid" => $UserId,
"from" => "login_page"
)
);
} else {
//redirect to registration
return $this->redirect(
array(
"controller" => "Users",
"action" => "registration",
"oid" => $OfferwallId,
"uid" => $UserId
)
);
}
}
}
}
Контроллер моего приложения. php
public function initialize()
{
parent::initialize();
$this->loadComponent('RequestHandler', [
'enableBeforeRedirect' => false,
]);
$this->loadComponent('Flash');
$this->loadComponent('Auth', [
'unauthorizedRedirect' => [
'controller' => 'Users',
'action' => 'index'
],
'loginRedirect' => array('controller' => 'users', 'action' => 'surveys'),
'logoutRedirect' => array('controller' => 'users', 'action' => 'index'),
'storage' => 'Session'
]);
$IpAddress = $this->request->clientIp();
$resultVpn = IpLog::LogIpAddress($IpAddress);
if ($resultVpn['IsVpn'] == 1) {
//if its a vpn then redirect to the error page .
if (!(
strtolower($this->request->params['controller']) == 'users'
&&
strtolower($this->request->params['action']) == 'vpnerror'
)
||
strtolower($this->request->params['controller']) == 'postback'
||
strtolower($this->request->params['controller']) == 'api'
) {
return $this->redirect(
array(
"controller" => "Users",
"action" => "vpnerror",
"oid" => 1,
"uid" => 1,
"email" => 1,
"ipaddress" => $IpAddress,
"countryname" => $resultVpn['CountryName'],
)
);
}
}
}
public function beforeFilter(Event $event)
{
$this->Auth->allow(['registration', 'index' , 'UnsubscribeSurveyNotify']);
}
И мое приложение. php
'Session' => [
'defaults' => 'php',
'timeout'=>302400//in minutes
]
PS: Я загружаю это в iframe. Если я загружаю сайт напрямую, он работает нормально, но в iframe он продолжает перенаправлять в / users / login /
Ниже приведены журналы, которые я получаю
2020-03-24 01:50:12 Debug: /users/surveys?oid=6&uid=118220773802600666858&from=index_page
2020-03-24 01:50:12 Debug: new login functionality Oid[6] Uid[118220773802600666858]
2020-03-24 01:50:12 Debug: Valid[1]
2020-03-24 01:50:12 Debug: Setting user , probably session as well and redirecting
2020-03-24 01:50:13 Debug: /users/surveys?oid=6&uid=118220773802600666858&from=login_page
2020-03-24 01:50:13 Debug: new login functionality Oid[6] Uid[118220773802600666858]
2020-03-24 01:50:13 Debug: Valid[1]
2020-03-24 01:50:13 Debug: Setting user , probably session as well and redirecting
2020-03-24 01:50:13 Debug: /users/surveys?oid=6&uid=118220773802600666858&from=login_page
2020-03-24 01:50:13 Debug: new login functionality Oid[6] Uid[118220773802600666858]
2020-03-24 01:50:13 Debug: Valid[1]
2020-03-24 01:50:13 Debug: Setting user , probably session as well and redirecting
2020-03-24 01:50:14 Debug: /users/surveys?oid=6&uid=118220773802600666858&from=login_page
2020-03-24 01:50:14 Debug: new login functionality Oid[6] Uid[118220773802600666858]
2020-03-24 01:50:14 Debug: Valid[1]
2020-03-24 01:50:14 Debug: Setting user , probably session as well and redirecting
2020-03-24 01:50:15 Debug: /users/surveys?oid=6&uid=118220773802600666858&from=login_page
2020-03-24 01:50:15 Debug: new login functionality Oid[6] Uid[118220773802600666858]
2020-03-24 01:50:15 Debug: Valid[1]
2020-03-24 01:50:15 Debug: Setting user , probably session as well and redirecting
2020-03-24 01:50:15 Debug: /users/surveys?oid=6&uid=118220773802600666858&from=login_page
2020-03-24 01:50:15 Debug: new login functionality Oid[6] Uid[118220773802600666858]
2020-03-24 01:50:15 Debug: Valid[1]
2020-03-24 01:50:15 Debug: Setting user , probably session as well and redirecting
2020-03-24 01:50:16 Debug: /users/surveys?oid=6&uid=118220773802600666858&from=login_page
2020-03-24 01:50:16 Debug: new login functionality Oid[6] Uid[118220773802600666858]
2020-03-24 01:50:16 Debug: Valid[1]
2020-03-24 01:50:16 Debug: Setting user , probably session as well and redirecting
2020-03-24 01:50:17 Debug: /users/surveys?oid=6&uid=118220773802600666858&from=login_page
2020-03-24 01:50:17 Debug: new login functionality Oid[6] Uid[118220773802600666858]
2020-03-24 01:50:17 Debug: Valid[1]
2020-03-24 01:50:17 Debug: Setting user , probably session as well and redirecting
2020-03-24 01:50:17 Debug: /users/surveys?oid=6&uid=118220773802600666858&from=login_page
2020-03-24 01:50:17 Debug: new login functionality Oid[6] Uid[118220773802600666858]
2020-03-24 01:50:17 Debug: Valid[1]
2020-03-24 01:50:17 Debug: Setting user , probably session as well and redirecting
, и в конце я получаю ударил, но слишком много запросов.