# @kobalab/socket.io-session

> Access express-session and passport user information from socket.io

Latest version **1.0.4** (published 2022-11-17) · MIT license · 0 weekly downloads

## Install

```sh
npm install @kobalab/socket.io-session
pnpm add @kobalab/socket.io-session
yarn add @kobalab/socket.io-session
bun add @kobalab/socket.io-session
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.0.4 |
| Published | 2022-11-17 |
| First published | 2019-09-30 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 0 |
| Unpacked size | 5 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 0 |
| Author | Satoshi Kobayashi |
| Maintainers | kobalab |
| Keywords | socket.io, express-session, passport |

## Links

- npm: https://www.npmjs.com/package/@kobalab/socket.io-session
- Repository: https://github.com/kobalab/socket.io-session
- Homepage: https://github.com/kobalab/socket.io-session#readme
- Issues: https://github.com/kobalab/socket.io-session/issues
- npm.io page: https://npm.io/package/@kobalab/socket.io-session

## Alternatives

- [@opentelemetry/exporter-zipkin](https://npm.io/package/@opentelemetry/exporter-zipkin.md) — 14.8M weekly downloads
- [pusher-js](https://npm.io/package/pusher-js.md) — 2.0M weekly downloads
- [browserify](https://npm.io/package/browserify.md) — 1.7M weekly downloads
- [sqs-consumer](https://npm.io/package/sqs-consumer.md) — 1.7M weekly downloads
- [@sanity/eventsource](https://npm.io/package/@sanity/eventsource.md) — 930.8K weekly downloads

## Recent versions

- 1.0.4 (latest) — 2022-11-17
- 1.0.3 — 2019-10-02
- 1.0.2 — 2019-09-30
- 1.0.1 — 2019-09-30

## README

# socket.io-session

Access express-session and passport user information from socket.io

## Installation
```shell
$ npm install @kobalab/socket.io-session
```

## Examples

If you access express-session only.

```javascript
const express = require('express');
const session = require('express-session')({
                            secret:'secret',
                            resave:false,
                            saveUninitialized:true });

const socket_io_session = require('@kobalab/socket.io-session')(session);

const app = express();
app.use(session);

const server = require('http').createServer(app);
const io = require('socket.io')(server);

io.use(socket_io_session.express_session);

io.on('connection', socket=>{
    console.log(socket.request.session);
    socket.on('hello', msg=>{
        console.log(socket.request.session);
        socket.request.session.hello = msg;
        socket.request.session.save();
    });
});

server.listen(3000);
```

If you access passport user infomation too.

```javascript
const express = require('express');
const session = require('express-session')({
                            secret:'secret',
                            resave:false,
                            saveUninitialized:false });
const passport = require('passport');

const socket_io_session
              = require('@kobalab/socket.io-session')(session, passport);

const app = express();
app.use(session);
app.use(passport.initialize());
app.use(passport.session());

const server = require('http').createServer(app);
const io = require('socket.io')(server);

io.use(socket_io_session.express_session);
io.use(socket_io_session.passport_initialize);
io.use(socket_io_session.passport_session);

io.on('connection', socket=>{
    console.log(socket.request.user);
    socket.on('hello', msg=>{
        console.log(socket.request.user);
    });
});

server.listen(3000);
```

## License
[MIT](https://github.com/kobalab/socket.io-session/blob/master/LICENSE)

## Author
[Satoshi Kobayashi](https://github.com/kobalab)

---
_Source: https://npm.io/package/@kobalab/socket.io-session · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
