3

アプリケーションに Cookie があり、angularJS ngCookies を使用してそれを読み取る必要があります。ブラウザー拡張機能から Cookie をエクスポートすると、次の json のようになります。

[
  {
    "domain": "localhost",
    "hostOnly": true,
    "httpOnly": false,
    "name": "JSESSIONID",
    "sameSite": "no_restriction",
    "secure": true,
    "session": true,
    "storeId": "0",
    "value": "00FC04BF082458FFE6F175C7E03F5712",
    "id": 18
  }
]

この JSON には、'JSESSIONID' とともにさらに多くのオブジェクトが存在する可能性があります。だから私はJSESSIONIDの値だけを読みたい。

私のコード:

 var jsessionCookie = $cookies.get('JSESSIONID');
 console.log(" Cookies 'JSESSIONID' : "+jsessionCookie);

未定義のオブジェクトを取得しています。

4

2 に答える 2

1

あなたが持っているコードは問題ないようですが、根本的な問題は異なります。

あなたのクッキーは次のようにマークされています

"httpOnly": true

これは、Angular.js を含むクライアント側のコードから Cookie にアクセスできないことを意味します。

アクセスする唯一の方法は、コードを生成するコードを変更して、Cookie が としてマークされないようにすることですhttpOnly。変更を行うにはいくつかのセキュリティ上の考慮事項があるため、何を行っているかを理解していることを確認してください。

HttpOnly の詳細については、OWASP Web サイトを参照してください。

于 2016-10-26T05:21:04.787 に答える