Etherpad-lite: transferir el ID de sesión de un dominio a otro

Creado en 19 jun. 2020  ·  6Comentarios  ·  Fuente: ether/etherpad-lite

¡Hola a todos! ¿Alguna idea sobre cómo puedo transferir el ID de

número de dominio 1 - sitio general
número de dominio 2 - etherpad

Hay un complemento ep_auth_session , pero en mi caso no funciona (_No tienes permiso para acceder a este pad_), ya que utilizo la siguiente configuración:

{
  "ip": "127.0.0.1",
  "trustProxy": true,
  "requireSession": true
}

más proxy_pass

Question

Todos 6 comentarios

Supongo que hay algo de lógica en el sitio a que cuando se realiza la sesión inicialmente, se publica el ID de sesión en etherpad. Se necesitaría un complemento en Etherpad.

@JohnMcLear desde el dominio número 1, no podemos configurar cookies en el dominio número 2

las cookies deben establecerse directamente en el número de dominio 2

¿Existe un complemento de este tipo o es necesario desarrollarlo?

Será necesario desarrollarlo. Vea cómo configuro cookies en ep_what_have_i_missed

Será necesario desarrollarlo. Vea cómo configuro cookies en ep_what_have_i_missed

https://github.com/ether/ep_what_have_i_missed 404 no encontrado

Yo también soy una persona ...: P

https://github.com/JohnMcLear/ep_what_have_i_missed

Tenemos algo parecido. En nuestro caso tenemos una página principal que es un iframe que envuelve el editor Etherpad.
No sé si es su caso, si es así, estos fragmentos pueden ayudar.

Enviar mensaje a través de PostMessage desde el contenedor

Window.postMessage(message, '*')

Escuche las llamadas a la API desde el exterior (complemento Etherpad)

var _listenToAPICallsToSetSessionOnCookie = function() {
  // listen to outbound calls of this API
  window.addEventListener('message', function(e) {
      ... check the content of 'e'
      setSessionOnCookie(e.data.sessionID, e.data.expires)
    }
  });
}

Agregue la identificación de la sesión (complemento Etherpad)

var setSessionOnCookie = function(sessionID, expires) {
  var existingSessionIDs = getSessionID(); // get existent sessions id
  var sessionIDAlreadyStored = existingSessionIDs.indexOf(sessionID) !== -1;

  if (!sessionIDAlreadyStored) {
    // need to append new session id to the end of existing list
    var allSessionIDs = existingSessionIDs.length ? existingSessionIDs + ',' : '';
    allSessionIDs += sessionID;

    // include expiration, if provided
    var expiration = expires ? ';expires=' + (new Date(expires).toUTCString()) : '';

    document.cookie = 'sessionID=' + allSessionIDs + expiration + ';secure';
  }
}

Más información sobre la API de postMessage
https://developer.mozilla.org/en-US/docs/Web/API/Window/postMessage

¿Fue útil esta página
0 / 5 - 0 calificaciones