ReactJS で SSO サーバーからの 302 リダイレクトを処理し、CORS エラーを回避する方法

Linda Hamilton
リリース: 2024-10-28 21:22:02
オリジナル
520 人が閲覧しました

How to Handle 302 Redirects from SSO Servers and Avoid CORS Errors in ReactJS?

ReactJS GET リクエストが 302 でリダイレクトされ、CORS エラーが発生しました

ReactJS 開発環境では、シングル サインオン (SSO) を介してユーザーを認証すると、バックエンドが 302 リダイレクトで応答するときに問題が発生します。シナリオを検討して、CORS エラーを克服する解決策を見つけてみましょう。

シナリオ:

  • フロントエンド サーバー: f.com で実行されている ReactJS アプリケーション
  • バックエンド サーバー: b.com で実行されている Golang API
  • SSO サーバー: sso.example.com

問題:

ReactJS は GET リクエストを b.com/users に送信します。バックエンドは、sso.example.com/login の SSO ページへの HTTP 302 リダイレクトで応答します。ただし、ReactJS アプリでは sso.example.com からの CORS エラーが発生し、リダイレクトがブロックされます。

解決策:

SSO サーバーは応答ヘッダーを変更できないため、クライアント側で JavaScript でリダイレクトを処理するのが最善です。このアプローチにより、CORS の問題が回避されます。

オプション 1: React Router

React Router を使用してプログラムでナビゲートし、クライアント側でリダイレクトを処理できます。ただし、この方法はより複雑です。

オプション 2: Window.location.href

より単純かつ直接的なアプローチとして、window.location.href を使用できます。ユーザーを SSO ページにリダイレクトするプロパティ:

<code class="javascript">window.location.href = "https://www.example.com";</code>
ログイン後にコピー

注: このメソッドは閲覧履歴に影響を与える可能性があります。

以上がReactJS で SSO サーバーからの 302 リダイレクトを処理し、CORS エラーを回避する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!