Гориллские сессии хранятся в localStorage

Гориллы работают довольно хорошо, сохраняя данные сеанса в зашифрованном виде в cookie.

Но можно ли использовать localStorage вместо jQuery cookie. Конечные точки возвратят JSON со свойством session. Код sessionfrontend сохранит в localStorage. Когда конечная точка будет запрошена, она sessionбудет передана в заголовке.

Я могу шифровать / расшифровывать / подписывать / проверять сеанс с помощью https://github.com/gorilla/securecookie

  1. Интересно, можно ли использовать localStorage вместо cookie так, как я описал? (Я ожидаю да, но может быть, есть причина не делать этого)

  2. Если да, то такое решение уже существует?

Если вам интересно, почему? Я хочу явно обработать сеанс. Файлы cookie не всегда сохраняются, когда запрашиваются веб-службы в разных доменах.

go,cookies,session-cookies,gorilla,

1

Ответов: 1


3 принят

Прежде всего, да, это возможно.

Во-вторых, это очень легко сделать.

Все , что вам по сути нужно сделать , это па в «кук» в локальное хранилище на переднем конце, но вместо того чтобы использовать заднюю часть , чтобы сохранить сессию в кук, передать его обратно через конечную точку в JavaScript.

Так вот что я имел в виду своего рода делать, я имею в виду , я просто используя псевдокод здесь , потому что я никогда даже не удосужился перед использованием Go. JavaScript несколько больше реализован, поскольку у меня есть много опыта работы с JavaScript, но вы можете изменить его, кто знает?


Конец Псевдокода:

@GET
@Path("/getsession")
getSession () { return session; }

@POST
@Path("/setsession")
setSession (json) { session = validateSession(json); }

Псевдокод JavaScript:

$.ajax(
    url:"/getsession",
    type: "GET",
    success: function (data) {
        var session = JSON.stringify(data);
        localStorage.setItem("session", session);
    }
);


var storedSession = localStorage.getItem("session");

if (storedSession != null) {
    storedSession = JSON.parse(storedSession);

    $.ajax(
        url:"/setsession",
        type: "POST",
        data: storedSession,
        success: function () {
            console.log("success!");
        }
    );
}
идти, печенье, печенье сеансового, горилла,
Похожие вопросы