Сессия-промежуточное ПО для fibjs
npm install fib-session [--save]
npm run ci
var Session = require('fib-session')
var session = new Session(conn, opts);
var srv = new http.Server(8000, [
session.cookie_filter, // использовать идентификатор сессии через файл cookie
{
// маршрутизаторы
'^/foo$': (r) => {
var v = r.session.v;
},
...
}
]);
var Session = require('fib-session')
var session = new Session(conn, opts);
var srv = new http.Server(8000, [
session.api_filter, // использовать API-фильтр сессии
{
// маршрутизаторы
'^/foo$': (r) => {
var v = r.session.v;
},
'^/get-token$': session.api_token
}
]);
Параметры kv и параметры сессии находятся в одном объекте.
Параметры хранилища kv
Параметры | По умолчанию | Объект/Map | LruCache | LevelDB | Redis | MongoDB | SQLite/MySQL |
---|---|---|---|---|---|---|---|
table_name | «kvs» | x | x | x | √ | √ | √ |
key_name | «k» | x | x | x | x | √ | √ |
value_name | «v» | x | x | x | x | √ | √ |
key_size | 32 | x | x | x | x | x | √ |
value_size | 256 | x | x | x | x | x | √ |
cleanup_interval (мс) | 60000 | x | x | x | x | x | √ |
timeout (мс) | 0 | x | √ | x | √ | √ | √ |
prefix | √ | √ | √ | √ | √ | √ | |
cache | false | √ | √ | √ | √ | √ | √ |
cache_size | 65536 | √ | √ | √ | √ | √ | √ |
cache_timeout (мс) | 60000 | √ | √ | √ | √ | √ | √ |
Параметры сессии
Параметры | По умолчанию |
---|---|
session_cache_size | 65536 |
session_cache_timeout (мс) | 900000 |
session_cache_delay | 100 |
session_id_name | sessionID |
Сессия-кэш используется для поддержания согласованности сессий среди HTTP-запросов.
Тайм-аут кэш-памяти сессии должен быть больше, чем его задержка.
На стороне клиента есть только идентификатор сессии. Сессия управляется на стороне сервера.
настройка бэкенд-базы данных.
возвращает фильтр сессии на основе файла cookie.
возвращает API-фильтр сеанса.
возвращает обработчик API, который получает новый идентификатор сессии.
Параметры | Параметры | По умолчанию | | | | | | --- | --- | --- | | session_jwt_algo | null | see jws.ALGORITHMS in fib-jws | | session_jwt_key | null | sign key. see in fib-jws |
— see fib-jws https://github.com/fibjs/fib-jws
— set session_jwt_algo и session_jwt_key для включения JWT:
// session_jwt_algo — это алгоритмы шифрования в fib-jws.
// session_jwt_key используется для проверки подписи.
var session = new Session(conn, { session_jwt_algo: 'HS256', session_jwt_key: verify_key })
— устанавливает JSON Web Token в cookie. — sign_key для подписи может отличаться от session_jwt_key в зависимости от алгоритма. — согласно спецификации JSON Web Token, один пользовательский сеанс может вызвать setTokenCookie только один раз для установки информации о пользовательском сеансе. Второй вызов вызовет исключение: new Error('Can't modify the JSON Web Token'). — значение по умолчанию r.session={}.
// подписывает информацию о пользователе: { id: 12345, name: "Frank" } и устанавливает cookie.
// r — запрос.
session.setTokenCookie(r, { id: 12345, name: "Frank" }, sign_key)
— получает токен для режима фильтрации API, см. session.api_filter.
session.getToken ({ id: 12345, name: "Frank" }, sign_key)
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )