Hallo allerseits! Irgendwelche Ideen, wie ich die sessionID von einer Domäne in eine andere übertragen und in das Client-Cookie schreiben kann?
Domainnummer 1 - allgemeine Seite
Domainnummer 2 - Etherpad
Es gibt ein ep_auth_session- Plugin, aber es funktioniert in meinem Fall nicht (_Sie haben keine Berechtigung, auf dieses Pad zuzugreifen_), da ich die folgenden Einstellungen verwende:
{
"ip": "127.0.0.1",
"trustProxy": true,
"requireSession": true
}
plus proxy_pass
Ich vermute, dass vor Ort eine Logik besteht, die bei der ersten Sitzung die Sitzungs-ID an das Etherpad sendet. Ein Plugin in Etherpad wäre erforderlich.
@JohnMcLear von Domain Nummer 1, wir können keine Cookies auf Domain Nummer 2 setzen
Cookies müssen direkt auf Domainnummer 2 gesetzt werden
Gibt es ein solches Plugin oder muss es entwickelt werden?
Es muss entwickelt werden. Sehen Sie, wie ich Cookies in ep_what_have_i_missed setze
Es muss entwickelt werden. Sehen Sie, wie ich Cookies in ep_what_have_i_missed setze
https://github.com/ether/ep_what_have_i_missed 404 nicht gefunden
Ich bin auch ein Mensch.... :P
Wir haben so etwas. In unserem Fall haben wir eine Hauptseite, die ein Iframe ist, der den Etherpad-Editor umschließt.
Ich weiß nicht, ob das bei Ihnen der Fall ist, wenn ja, können diese Ausschnitte helfen.
Nachricht per PostMessage aus dem Wrapper senden
Window.postMessage(message, '*')
API-Aufrufe von außen abhören (Etherpad-Plugin)
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)
}
});
}
Fügen Sie die Sitzungs-ID hinzu (Etherpad-Plugin)
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';
}
}
Weitere Informationen zur postMessage-API
https://developer.mozilla.org/en-US/docs/Web/API/Window/postMessage