私はリアム・アプリケーションにログインページを用意しています。このページには、KoaベースのAPIサーバー上でpassport.js
を利用するソーシャルネットワークOAuth2サービスを介したローカルログインまたはログインの選択肢があります。React RouteからGETベースのブラウザナビゲーションを強制するにはどうすればよいですか?
当初、私はバックエンドをajax経由で呼び出しようとしていましたが、OAuth2サーバはこれを行うことを許可しないため、プロキシであってもCORSエラーが発生してしまいました。代わりに、単にLink
以下のように、私のAPIバックエンドURLへto
プロパティを持つ社会的なログインボタン周り:
...
render(
<h4 className="ui dividing header">
Sign in with a Social Media Account
</h4>
<Link to="/auth/google/signin">
<Button
id="googleSigninButton"
disabled={authenticating}
className="google plus"
>
<Icon className="google plus" />
Google Plus
</Button>
</Link>
)
...
問題は、私はボタンをクリックしたときにルータがリンクをインターセプトし、レンダリングしようとしていますそのパスのコンポーネント(ナビゲーションバーの)ブラウザの場所ですが、実際にブラウザがサーバー上のリソースに対してGETを実行することはありません。その結果、汎用404コンテナがレンダリングされます。私はまた、プレーンアンカー要素を使用しようとしましたが、これは上記と同じ理由で失敗します。
私が知る必要があるのは、React Routerに特定のパスを無視させ、ブラウザがリソースに対してGETを実行できるようにする方法です。
私もこれを試しましたが、うまくいきませんでした。 OPで: "私はまた、プレーンアンカー要素を使用しようとしましたが、これは上記と同じ理由で失敗します。" – Dallas