ivan234 16 сентября 2011 в 9:15 Есть модуль loginza - вход на сайт через yandex, google, vkontakte и т.д.. Если сайт работает на http://, то вход через loginza (например, Yandex) происходит на ура. Если сайт на https://, то loginza не пашет: вход не происходит. В чем проблема? Drupal7 Есть вопрос Блог Войдите или зарегистрируйтесь, чтобы отправлять комментарии
kyky 16 сентября 2011 в 17:05 Возможно, с точки зрения логинзы http://site.ru и https://site.ru это два разных сайта, поэтому для https://site.ru нужна отдельная учетка. Смотрите логи.
v1adimir@drupal.org 16 сентября 2011 в 17:16 "ivan234" wrote: Если сайт на https:// Совершенно не представляю как логинза работает, но предположение... а сертификат на "сайт на https://" настоящий или самоподписанный? Многие сервисы не будут работать с самоподписанным ssl-сертификатом.
ivan234 4 октября 2011 в 10:39 В файле inc/loginza.routines.inc: function _loginza_param_token_url($token_url = NULL, $destination = NULL) { if (empty($destination)) { $destination = drupal_get_destination(); $amnesia_paths = variable_get('loginza_amnesia_paths', "user/register\r\nuser"); if (drupal_match_path($destination['destination'], $amnesia_paths)) $destination = array(); } else { $destination = array('destination' => $destination); } - if (empty($token_url)) $token_url = url('loginza/token_url', array('absolute' => TRUE, 'query' => $destination)); + if (empty($token_url)) $token_url = url('loginza/token_url', array('absolute' => TRUE, 'query' => $destination, 'https' => TRUE)); $token_url = urlencode($token_url); return $token_url; }
Комментарии
Возможно, с точки зрения логинзы http://site.ru и https://site.ru это два разных сайта, поэтому для https://site.ru нужна отдельная учетка.
Смотрите логи.
Совершенно не представляю как логинза работает, но предположение... а сертификат на "сайт на https://" настоящий или самоподписанный?
Многие сервисы не будут работать с самоподписанным ssl-сертификатом.
В файле inc/loginza.routines.inc:
function _loginza_param_token_url($token_url = NULL, $destination = NULL) {
if (empty($destination)) {
$destination = drupal_get_destination();
$amnesia_paths = variable_get('loginza_amnesia_paths', "user/register\r\nuser");
if (drupal_match_path($destination['destination'], $amnesia_paths)) $destination = array();
}
else {
$destination = array('destination' => $destination);
}
- if (empty($token_url)) $token_url = url('loginza/token_url', array('absolute' => TRUE, 'query' => $destination));
+ if (empty($token_url)) $token_url = url('loginza/token_url', array('absolute' => TRUE, 'query' => $destination, 'https' => TRUE));
$token_url = urlencode($token_url);
return $token_url;
}