0

Firebaseを使用して電子メール認証で電子メール/認証を認証しようとしています。私はReact + Redux + React-Routerを使用しています。アカウントの作成はうまくいっています。ユーザーアカウントはFirebaseユーザーデータベースに作成されますが、Firebaseが電子メールの検証で提供するリンクから "モード"と "oobCode"をキャプチャしようとしています。 URL形式は.../verify?mode = foo & oobCode = bar)です。私は、ローカルホストに(一瞬)Firebaseリンクを持っている:3000 /検証、私のルートで、私はこのようなルート・パスに追加してみましたので、:私は上をクリックしたときに、しかしreact + react-routerを使用してfirebase URLからの受信クエリパラメータを処理します

<Router history={ browserHistory }> 
 
     <Route path="/" component={ MainApp }> 
 
      <IndexRoute component={ LandingPage } onEnter={ redirectIfLoggedIn } /> 
 
      <Route path="verify/:mode/:oobCode" component={ LandingPage } onEnter={ redirectIfVerified } /> 
 
      // other routes 
 
     </Route> 
 
</Router>

を電子メールのURL、エラーページが表示されます。基本的に、私がしようとしているのは、着信電子メールのリンクを傍受し、& oobCodeがFirebaseのapplyActionCodeを使って正しいかどうかを確認してから、ユーザーをメインのログインページまたはエラーページに送ります。私がここで何を欠いているのか?

答えて

1

受け取るURLの形式は.../verify?mode=foo&oobCode=barです。

ルートは次のようになります -

... 
    <Route path="verify" component={ LandingPage } onEnter={redirectIfVerified } /> 
... 

modeoobCodeは、クエリのparamsです。これらの値は、コンポーネント内で、小道具に注入されたロケーションオブジェクトから取得できます。

this.props.location.query = {mode: "foo", oobCode: "bar"} 
関連する問題