UNPKG

node-laravel-session

Version:

Tool in order to share sessions between node and laravel

56 lines (37 loc) 2.04 kB
# node-laravel-session a way to share laravel session with node. please feel free to make PR's with additional functionality such as getting decoded sessions from other session drivers # What it does This is a simple utility which helps you obtain the laravel session key. You pass in your laravel key, as well as your laravel_session found in your cookie and we return a key that helps you find the session details. # API ``` getAppKey(pathToEnvFile): resolves APP_KEY found in .env without 'base64:' getSessionKey(laravel_session, laravelAppKey, [optional keyLength]): returns laravel session key such as 'ffdbeaac243c2d691d64084710d428d575c07007' getSessionFromRedis(laravelSessionKey, redisConnection, [optional sessionPrefix='laravel_cache']): returns a promise that resolves with the session object. On laravel 5.4 or less, the sessionPrefix should be 'laravel' getSessionFromMysql(laravelSessionKey, mySqlConnection [, databaseTable]): returns a promise that resolves with the session object getSessionFromFile(laravelSessionKey, sessionFilePath): returns a promise that resolves with session object ``` # Usage `let laravelSession = require('node-laravel-session');` Get your laravel_session from the cookie. for example: ``` js let cookie = require('cookie'); let session = cookie.parse(req.headers.cookie).laravel_session; ``` Get your app key, for example "MES4V4nAY+eLns059EwEXaXbCB2YKLHCP6bA7tc54KI=" by pasting it or by parsing the laravel .env file with a regex to obtain it. DO NOT INCLUDE "Base64:". or use the provided function function. ``` js laravelSession.getAppKey('path/to/your/.env') .then((appKey) => { // continue }); ``` Then just find the key by calling the function 'getSessionKey' ``` js let sessionKey = laravelSession.getSessionKey(session, appKey); ``` Get your complete laravel session. Redis example ``` js laravelSession.getSessionFromMysql(sessionKey, mySqlConnection) .then((session) => { console.log('here is the full session:' + session); }); ```