php エディター Xiaoxin では、リダイレクト後の Golang と Gin の CORS エラーについて紹介します。 CORS (Cross-Origin Resource Sharing) は、異なるドメイン間で安全にデータを転送するためのメカニズムですが、Golang および Gin フレームワークを使用する場合、CORS エラーが発生するのが一般的な問題です。この記事では、開発者がこの問題をよりよく理解し、対処できるように、CORS エラーの原因と解決策について詳しく説明します。初心者でも経験豊富な開発者でも、この記事は役立つガイダンスと解決策を提供します。 Golang と Gin の CORS エラーを一緒に調べてみましょう。
goとginで書かれたWebサーバーにgoogle oauth2を実装しようとしています。 /google/sign-in と /google/callback という名前の 2 つの新しいエンドポイントを追加しました。 1 つ目はリクエストを受信して Google 認証 URL にリダイレクトし、2 つ目はユーザーが有効な Google アカウントを選択し、トークンを検証して内部認証用の JWT を作成した後に呼び出されます。
すべて問題ありませんが、最初の API ルートを呼び出すと cors エラーが発生するため、そうではありません:
リーリーこれは私の golang コードです:
リーリー認証コントローラー
リーリーgoogleauthconfig では、コールバック URL は http://localhost:3000/google/callback で、Google Cloud Oauth 認証情報に追加されます。
コールバック リクエストに access-control-allow-origin が欠落していることはわかっていますが、そのヘッダーを追加するにはどうすればよいですか?
質問の情報によると、http://localhost:4200
ページにアクセスし、http:/へのリクエストをリクエストしています。 /localhost:3000 /google/sign-in
AJAX リクエストを送信し、https://accounts.google.com/o/oauth2/auth
にリダイレクトします。これではうまくいきません。ページを https://accounts.google.com/o/oauth2/auth
にリダイレクトする必要があります。
この問題を解決するには 2 つのオプションがあります:
クライアント コードを変更して、AJAX リクエストをフォーム リクエストに置き換えます (<form action="http://localhost:3000/google/sign-in" method="POST"> を使用) ; ### 要素)。この場合、
RedirectToGoogleAuthPage の
c.JSON を別のものに置き換える必要があります。
RedirectToGoogleAuthPage を変更し、ページをターゲット URL にリダイレクトするようにクライアント コードを変更します (
window .location = を使用)ターゲットURL)。
以上がリダイレクト後の Golang と Gin での CORS エラーの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。