Возможно ли генерировать превью ограниченного контента (Drupal) через интеграцию SSO?

Всем привет, я новый пользователь Discourse, это мой первый пост, будьте добры!

Подскажите, пожалуйста, возможно ли реализовать следующее решение?

Сценарий:

  • Есть сайт на Drupal
  • На сайте Drupal есть контент, требующий аутентификации пользователя (“ограниченный контент Drupal”)
  • Между Drupal и Discourse настроен SSO

Проблема:

  • Пользователь Discourse, который вставляет ссылку на “ограниченный контент Drupal” в сообщение, получает сообщение 403: “К сожалению, нам не удалось сгенерировать предварительный просмотр для этой веб-страницы, так как веб-сервер вернул код ошибки 403. Вместо предварительного просмотра в вашем сообщении будет отображена только ссылка.”

Желаемое решение:

  • Пользователь Discourse, вставляющий ссылку на ограниченный контент, должен получать автоматический предварительный просмотр, если у него есть доступ к этому контенту

В том, что вы сказали до сих пор, есть двусмысленность. Вы имеете в виду, что при просмотре поста в обсуждении со ссылкой на Drupal превью onebox должно зависеть от:

  1. прав доступа Drupal у зрителя; или
  2. прав доступа Drupal у создателя

В любом случае, решить эту проблему будет проще, если вы сможете сделать её вопросом доступа в Discourse. Вы можете настроить автоматическое назначение групп в Discourse на основе ролей в Drupal — это должно быть достаточно просто с помощью модуля Drupal Discourse SSO.

Возможно, вам также потребуется реализовать собственную логику доступа на стороне Drupal, чтобы убедиться, что краулер превью onebox может получать доступ к ограниченному контенту.

Если вы хотите показывать контент некоторым зрителям, но не другим, я подозреваю, что вам, скорее всего, придется заставить контент использовать какой-либо скрипт. Это было бы гораздо проще, если бы контент зависел от создателя, а не от зрителя.

Спасибо за быстрый ответ. Я думал, что предварительный просмотр будет зависеть от прав доступа создателя темы/комментария в Discourse, а не от прав просмотра в Discourse.

Я представлял предварительный просмотр как снимок, который создаётся и привязывается к сообщению в виде статичного HTML, а не как динамический виджет — я даже не рассматривал такой вариант!

Если я правильно понял: это возможно с помощью кастомизации (через скрипт) на стороне Discourse и/или кастомной логики доступа на стороне Drupal?

Возможно ли настроить Drupal так, чтобы превью отображалось до входа в систему или за paywall?

Если мета-свойства поста в Drupal доступны, то oneboxing должен работать корректно.

В хостинговой версии продукта Discourse (не корпоративной) кажется, что onebox нельзя настроить так, чтобы это поддерживало данную задачу.

Думаю, чтобы решить эту проблему, нужно хотя бы сделать метаданные общедоступными.

Спасибо вам обоим за ответы.