2017-05-03 12 views
0

私はnode-koa2-angularアプリを書いています。そして、私は特急のアプリのように設定しXSRF-TOKENクッキーが必要です。koa2アプリでXSRF-TOKENクッキーを設定するには?

var csrfProtection = csrf({ cookie: true }) 

をしかし、KOA-CSRFに私は、このオプションを見つけることができないと、デフォルトではクッキーを作成していないです。 ご協力いただきありがとうございます。

答えて

0

koa-csrfは、クッキーを作成していないとします。代わりに、koaコンテキストのクッキーをctx.sessionにイントロスペクションします。 codeでこれがどこで起こるか調べてください。

クッキーを作成するには、koa-sessionのようなミドルウェアを追加する必要があります。実装は次のようになります。

const session = require('koa-session'); 
const CSRF = require('koa-csrf'); 

// set the session keys and add session support  
app.keys = ['secret'] 
app.use(session({}, app)) 

// add the CSRF middleware 
app.use(new CSRF()); 

// your middleware here (e.g. parse a form submit) 
app.use((ctx, next) => { 
    if (ctx.method === 'GET') { 
    ctx.state.csrf = ctx.csrf; 
    } 
    return next(); 
}); 
関連する問題