0

私はリアム・アプリケーションにログインページを用意しています。このページには、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を実行できるようにする方法です。

答えて

0

Linkタグをaタグで簡単に書き換えます。以下同様に

<a href="/auth/google/signin"> ... </a> 
+0

私もこれを試しましたが、うまくいきませんでした。 OPで: "私はまた、プレーンアンカー要素を使用しようとしましたが、これは上記と同じ理由で失敗します。" – Dallas

関連する問題