プロジェクトで Babel を使用していない場合は、Babel なしでこのバージョンを試すことができます。
コアセッション2
Redis や mongodb などのカスタム ストアでのセッション使用を Babel で取得/設定するための Koa2 用ミドルウェア
コアセッション2
Redis や mongodb などのカスタム ストアでのセッション使用を Babel で取得/設定するための Koa2 用ミドルウェア
プロジェクトで babel を使用していない場合は、babel なしでこのバージョンを試すことができます。
インストールnpm install koa-session2
使用方法「koa」からKoaをインポートします;<br>
「koa-session2」からセッションをインポートします;<br>
<br>
const app = new Koa();<br>
<br>
app.use(セッション({<br>
キー: 「SESSIONID」、 //デフォルト 「koa:sess」 <br>
}));
カスタム ストア
Store.js「ioredis」から Redis をインポートします;<br>
import {Store} from 「koa-session2」;<br>
<br>
デフォルトのクラスをエクスポート RedisStore がストアを拡張します {<br>
コンストラクター() {<br>
スーパー();<br>
this.redis = 新しい Redis();<br>
}<br>
<br>
非同期 get(sid) {<br>
return await this.redis.get(`SESSION:${sid}`);<br>
}<br>
<br>
非同期セット(セッション、オプト) {<br>
if(!opts.sid) {<br>
opts.sid = this.getID(24);<br>
}<br>
await this.redis.set(`SESSION:${opts.sid}`, セッション);<br>
return opts.sid;<br>
}<br>
<br>
非同期破棄(SID) {<br>
return await this.redis.del(`SESSION:${sid}`);<br>
}<br>
}
main.js「koa」から「koa」をインポートします;<br>
「koa-session2」からセッションをインポートします;<br>
import Store from 「./Store.js」;<br>
<br>
const app = new Koa();<br>
<br>
app.use(セッション({<br>
ストア: 新しい ストア()<br>
}));<br>
<br>
app.use(ctx => {<br>
let user = ctx.session.user;<br>
<br>
ctx.session.view = "インデックス";<br>
});
オプション
ほとんどのオプションは Cookie に基づいていますkey: Cookie 内のストア セッション ID の文字列<br>
<br>
store: カスタム ストアのクラス (extend {Store}, func: #get(sid), #set(session, opts), #destory(sid))<br>
<br>
maxAge: Date.now() からの有効期限までのミリ秒を表す数値<br>
<br>
Expires: Cookie の有効期限日を示す Date オブジェクト (デフォルトではセッションの終了時に期限切れになります)。<br>
<br>
path: Cookie のパスを示す文字列 (デフォルトでは /)。<br>
<br>
ドメイン: Cookie のドメインを示す文字列 (デフォルトなし)。<br>
<br>
secure: Cookie が HTTPS 経由でのみ送信されるかどうかを示すブール値 (HTTP の場合はデフォルトで false、HTTPS の場合はデフォルトで true)。<br>
<br>
httpOnly: Cookie が HTTP(S) 経由でのみ送信され、クライアントの JavaScript で利用できないかどうかを示すブール値 (デフォルトでは true)。<br>
<br>signed: Cookie に署名するかどうかを示すブール値 (デフォルトでは false)。 これが本当の場合、同じ名前で .sig サフィックスが追加された別の Cookie も送信されます。この Cookie には、最初の Keygrip キーに対する Cookie 名 = Cookie 値のハッシュを表す 27 バイトの URL セーフな Base64 SHA1 値が含まれます。 この署名キーは、次回 Cookie を受信したときに改ざんを検出するために使用されます。<br>
<br>
overwrite: 以前に設定された同じ名前の Cookie を上書きするかどうかを示すブール値 (デフォルトでは false)。 これが真の場合、この Cookie を設定するときに、同じリクエスト中に設定された同じ名前(パスやドメインに関係なく)のすべての Cookie が Set-Cookie ヘッダーから除外されます。
ミット
KoaHub.js -- Koa.js 平台ベースの Node.js Web 高速开公開框架
公式サイト:http://js.koahub.com