問題タブ [angular-cookies]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
493 参照

angularjs - angular http.postはPHPSESSID Cookieを送信します...しかし、返送されません

私は AngularJS (バージョン 2 ではない) を初めて使用し、サイト X で PHP スクリプトを呼び出し (POST)、データを表示するシングル ページ アプリを持っています。私はAngular JS v1.5.7を使用していますが、他には何も使用していません(ブートストラップなど)。

正常に動作しています。jquery.ajax を使用して認証を追加しましたが、問題ありませんでした。その後、Angular で JQuery.ajax() を使用することはおそらく最善の方法ではないことに気付きましたが、.ajax() 呼び出しを削除して $http に置き換えようとして行き詰まりました。

デバッガー (Chrome など) から、認証呼び出しを行うと、PHPSESSID Cookie がサーバーに送信されないことがわかります。サーバーでのデバッグにより、これが確認されます。サーバーからの正しい応答が表示され、Cookie が含まれています。

返信を処理すると、JavaScript がデータをフェッチします....しかし、PHPSESSID Cookie をサーバーに送信していないため、失敗します。

JQuery ajax() を使用して認証 POST (および他のすべての呼び出しに $http を送信) を送信した場合は問題ないため、認証用の $http.post に関連付ける必要があります。

スニペットは次のとおりです。

私も試しました:

withCredentials: true の使用に関する多くのコメントを見て、リクエストと構成の両方で $httpProvider.default.withCredentials true を設定して設定しようとしました。これのほとんどはCORSについて話していますが、この場合、リクエストはすべて同じサーバー上のまったく同じページに対するものであるため、クロスオリジンには関係ありません.

私は何が欠けていますか?認証を行うJQuery(および後でデータを取得するために使用される$ http)で問題なく動作するため、Angularフレームワークと関係があるに違いありません

ありがとうモナサン

0 投票する
0 に答える
1497 参照

angular - ページ読み込み時のAngular 2リダイレクト

私の Angular 2 アプリでは、Cookie が設定されている場合、特定のページにリダイレクトしたいと考えています。動作は次のとおりです。

  • Cookie なし -> 通常のルーティング
  • Cookieが設定されている -> Cookie内に設定された保存済みルートにリダイレクト

これを行うためのベストプラクティスは何ですか? 私の考えは、ルート コンポーネント AppComponent 内で ngOnInit() を使用し、Cookie が設定されているかどうかを確認し、現在の URL が Cookie と同じでない場合はリダイレクトすることです。

これは可能な解決策ですか?

私の最初の問題は、this.router.urlAppComponent 内では常に "/" であるということでした。

また、AppComponent の ngOnInit() 内を移動しても機能しません。this.router.navigate(['/stepX']);

0 投票する
1 に答える
3962 参照

angularjs - angularjs で Cookie を削除する

特定のドメインに設定された Cookie の削除に問題があります。

Cookie が say domain, abioに設定されたとき、それらはこのコードによって削除されていました。

しかし、ドメインb.ioに設定すると機能しません。問題をデバッグしようとしました。k の値は正しいのですが、$cookies.remove は単純に Cookie を削除していません。

0 投票する
1 に答える
580 参照

angularjs - Spring Security Cookie は、最初の禁止された要求の後にのみ Angular に到着します

Spring Security を使用して、Spring Data REST Web アプリケーションを AngularJS で保護しています。

私の SecurityConfig は次のように宣言されています。

私は通常、目標を達成するためにこのリンクをたどりました。

ここで、初めてログインすると、angular-request for return undefined$cookies.get("XSRF-TOKEN")が返され、データベースへのすべてのリクエストがブロックされません。

しかし、ログアウトして再度ログインすると、Cookie が返され、すべてのデータベース リクエストが許可されます。

そして、これは 2 回目のログインごとにのみ発生するため、次のようになります。

  1. 未定義

  2. クッキー

  3. 未定義

  4. クッキー

  5. 未定義

    ...

だから今、私の構造に深く入り込まずに私を助けてくれる人がいることを願っていますが、それが必要な場合はそうします.

前もって感謝します。

編集1:リクエストは次のとおりです。 ここに画像の説明を入力

プロセスに関連して: 私はトークンを CokieCsrfTokenRepository().loadToken() に記録しており、すべてのトークンが表示されています..

編集 2:ログインごとに呼び出す My Angular Service:

編集 3: Cookie が定義されていない場合、このリンクのメソッド loadToken() は、ログアウトしてブラウザーを更新した後 (最初のログイン) にのみ呼び出されることを述べました。次に、トークンが表示され、再びログインします。しかし、毎秒試した後でも、うまく機能します..

編集 4:最初の禁止された POST 要求 (Edit3 では /logout) の後、トークンがテンプレートに到着することを認識しませんでした。ブラウザを更新すると、リクエストごとに Cookie が送信されるようになるため、すべてのリクエストが許可されます。しかし、これを修正する方法は?

0 投票する
0 に答える
427 参照

angularjs - 親ドメインのサブドメインによって設定された Cookie を削除するにはどうすればよいですか?

tokenサブドメイン ( ) からcookie( ) を設定する必要がある状況がありますaccount.test.com。そこで、angular-cookies を使用して実装しました。ブラウザの Cookie の下に、tokenis to value xyz、 path to /、および domain to が表示され.test.comます。

またtest.com、 cookie( orId) を value pqrs、 path /、 domain に設定しtest.comます。開発ツールではtest.com、クッキーが設定されているのを確認しaccount.test.com、どこから読み取ることができますtokenか。これは完全に問題ありません。

tokenこれで、削除するユースケースができましorIdtest.com。angular-cookies$cookie.remove('token')$cookie.remove('orId'). のみorIdが削除されているように見えますが、削除されていませんtoken。では、親ドメインからtokenset byを削除する方法。account.test.comtest.com