HybridAuth. Безопасный протокол с Yandex профилем

Добрый вечер.

Пытаюсь настроить авторизацию на сайте при помощи HybridAuth. В целом, все получилось, но есть проблема с авторизацией (даже просто с наличием возможности авторизации) через Яндекс.

В консоли Chrome выдается два предупреждения, одно постоянное, другое при полной перезагрузке странички.
Постоянная:
Mixed Content: The page at 'https://mariadolgopolova.ru/proverka-stranicy-s-kommentariyami-i-avtorizaciej.html' was loaded over HTTPS, but requested an insecure image 'http://upics.yandex.net/82115369/normal'. This content should also be served over HTTPS.
Только при перезагрзуке:
Mixed Content: The page at 'https://mariadolgopolova.ru/proverka-stranicy-s-kommentariyami-i-avtorizaciej.html' was loaded over HTTPS, but requested an insecure image 'http://avatars.mds.yandex.net/get-yapic/0/0-0/islands-retina-50'. This content should also be served over HTTPS.
Смысл ошибки я понимаю, но как исправить понять не могу.
В файлах HybridAuth в папке провайдеров уже изменил строку
$this->user->profile->photoURL = 'http://upics.yandex.net/'. $this->user->profile->identifier .'/normal';
На адрес с https. Кеш чистил, но ошибка не исчезает (даже первая). Может быть кто-то сможет подсказать, что с этим можно сделать? Может быть где-то есть обращение к способу подключения… Вижу по сайту modx.pro, что безопасный протокол и авторизация через Яндекс могут сосуществовать.
Валерий
05 октября 2017, 18:04
modx.pro
3 900
0

Комментарии: 7

Валерий
05 октября 2017, 23:49
0
Проблему решил. В чанке «tpl.HybridAuth.logout», вместо:
<img src="[[+gravatar]]?s=75" alt="[[+username]]" title="[[+fullname]]" class="ha-avatar"/>
Написал:
<img src="[[+gravatar:!empty=`https://мой-сайт/путь-к-картинке-заглушке`]]" alt="[[+username]]" title="[[+fullname]]" class="hybridauth_logout__icon"/>
    Валерий
    07 октября 2017, 15:15
    0
    Проблема решена не была полностью (что, конечно же, логично).
    Я задал вопрос яндексу, они мне ответили:

    Спасибо! Все проверили. Дело действительно в http/https, и, чтобы все работало, нужно, чтобы разработчики HybridAuth исправили upics.yandex.net/82115369/normal на upics.yandex.net/82115369/normal .

    Шикарный ответ, конечно :)
    Вопрос такой: почему изменение протокола в файле Yandex.php в папке провайдеров не подействовало на ссылку?
      Дмитрий Мансуров
      09 ноября 2020, 17:55
      +2
      Я конечно понимаю, что времени уже прошло много — 3 года, нго считаю нужным оставить эту инфу здесь
      Ссыль на параметры аватара на яндексе
      /core/components/hybridauth/providers/Yandex.php
      меняем
      $userProfile->photoURL = 'http://upics.yandex.net/' . $userProfile->identifier . '/normal';
      на
      $userProfile->photoURL = 'https://avatars.yandex.net/get-yapic/' . $userProfile->identifier . '/islands-retina-50';
        Николай Савин
        09 ноября 2020, 18:14
        0
        Полезнее создать issue на github.
          Дмитрий Мансуров
          09 ноября 2020, 21:27
          0
          Сделаю, обязательно. Просто торопился сдать проект. И не до этого было.
          Гуглил быстро и пока вкладку не закрыл запостил
          Валерий
          15 ноября 2020, 11:10
          0
          В любом случае спасибо за ответ :) С новыми работами будет проще.
            Андрей
            10 сентября 2021, 17:38
            0
            Не совсем точно. Подставлять нужно идентификатор не пользователя, а картинки.
            Поэтому менять нужно на:
            $userProfile->photoURL = 'https://avatars.yandex.net/get-yapic/' . $data->get('default_avatar_id') . '/islands-200';
            Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
            7