38

私は次のようなものでエクスプレスでクッキーセッション管理を行っています:

req.session.authentication = auth;

そして、認証されたURLを次のようなもので確認します

if(!req.session.authentication){res.send(401);}

現在、mocha、 superagent、およびshouldを使用して URL のテストを作成していますが、 superagentを使用して Cookie を取得/設定する方法が見つからないようです。認証テストの前にログインを要求しようとしましたが、機能していません。

モカ BDD スイートの before ステートメントでログインにリクエストを追加しようとしましたが、リクエストが承認されていないことをまだ伝えています。ブラウザからのリクエストを実行して認証をテストしましたが、どうしてですか?

4

6 に答える 6

32

superagent.agent()(プレーンな古いの代わりに) を使用superagentして、リクエストに永続的な Cookie を持たせます。superagent docs の「Cookie の保持」、またはコード例: Agency.jscontroller.test.jsを参照してください。

于 2012-10-04T20:04:31.520 に答える
20

次のコードは正常に動作するようです。

req.set('Cookie', "cookieName1=cookieValue1;cookieName2=cookieValue2");

于 2016-01-14T16:55:53.650 に答える
5

あなたが言及したので、クッキーを取得して設定する必要があります:

得る:

const request = await Superagent.get('...')

const cookie = request.header['set-cookie']

設定:

Superagent.post('...').set('Cookie', 'cookie_info')
于 2016-07-06T21:28:19.440 に答える