¿Es posible generar vistas previas de contenido restringido (Drupal) a través de una integración SSO?

¡Hola a todos! Soy nuevo en Discourse y este es mi primer post, ¡por favor sean amables!

¿Alguien puede decirme si es posible la siguiente solución?

Escenario:

  • Tener un sitio Drupal
  • Tener contenido en el sitio Drupal que requiere autenticación de usuario (“contenido restringido de Drupal”)
  • Tener SSO entre Drupal y Discourse

Problema:

  • Un usuario de Discourse que pega un enlace a “contenido restringido de Drupal” en un post recibe el mensaje 403: “Lo sentimos, no pudimos generar una vista previa de esta página web porque el servidor web devolvió un código de error 403. En lugar de una vista previa, solo aparecerá un enlace en tu post.”

Solución deseada:

  • Que un usuario de Discourse que pegue un enlace a contenido restringido obtenga la vista previa automática si tiene acceso al contenido

Hay una ambigüedad en lo que has dicho hasta ahora. ¿Te refieres a que, al visualizar una publicación de Discourse con un enlace de Drupal, la vista previa de onebox debería depender de:

  1. los permisos de acceso de Drupal del espectador; o
  2. los permisos de acceso de Drupal del creador

De cualquier manera, será más fácil abordarlo si lo conviertes en un problema de acceso de Discourse. Puedes obtener asignación automática de grupos de Discourse basada en el rol de Drupal; eso debería ser lo suficientemente sencillo con el módulo de SSO entre Drupal y Discourse.

También es posible que necesites alguna lógica de acceso personalizada en el lado de Drupal para asegurarte de que el rastreador de vista previa de onebox pueda acceder al contenido restringido.

1 me gusta

Si quieres mostrar contenido a algunos espectadores pero no a otros, sospecho que tendrás que hacer que el contenido utilice algún tipo de script. Sería mucho más fácil si el contenido dependiera del creador y no del espectador.

1 me gusta

Gracias por la respuesta rápida. Pensaba que la vista previa dependería del acceso del creador del tema/comentario en Discourse, no del lector de Discourse.

Consideraba la vista previa como una instantánea que se crea y se vincula al post como HTML estático, no como un widget dinámico; ¡ni siquiera había considerado esa posibilidad!

Si te he entendido bien: esto sería posible mediante personalización (mediante script) en el lado de Discourse y/o lógica de acceso personalizada en el lado de Drupal?

¿Es posible configurar Drupal de modo que la vista previa esté disponible antes del inicio de sesión o del muro de pago?

Si las propiedades meta de la publicación en Drupal son accesibles, el oneboxing debería funcionar correctamente.

4 Me gusta

En el producto Discourse alojado (no empresarial), parece que onebox no es realmente personalizable de una manera que apoye esto.

Creo que hacer que al menos los metadatos sean accesibles públicamente tendrá que ser la forma de abordar esto.

Gracias a ambos por sus respuestas.

2 Me gusta