0

私はコードに非常に慣れていません。メール/パスワード認証を処理するために、firebase の firebase UI github プロジェクトを使用しています — https://github.com/firebase/firebaseui-web。リダイレクトは機能していますが、ユーザーがログインページをバイパスして「成功した」URL にアクセスするのを防ぐにはどうすればよいですか (誰かが単純に共有した場合)。私の希望は、「signInFailureUrl」パラメーターを簡単に設定できることでした。しかし、うまくいきませんでした。以下に、「signInSuccessUrl」を設定する構成オブジェクトを貼り付けました。どうすればこれを処理できますか? どんな助けでも大歓迎です。

var uiConfig = {
    'queryParameterForWidgetMode': 'mode',
    // Query parameter name for sign in success url.
    'queryParameterForSignInSuccessUrl': 'signInSuccessUrl',
    'signInSuccessUrl': '<url-to-redirect-to-on-success>',
    'singInFailureUrl': '<url-to-redirect-to-on-failure>',
    'signInOptions': [
      // I am only using email and password for my app
      firebase.auth.EmailAuthProvider.PROVIDER_ID
    ],
    'callbacks': {
      'signInSuccess': function(currentUser, credential, redirectUrl) {
        return true;
      }
    }
  };
4

1 に答える 1

0

Firebase で適切なデータベース権限を使用すると、データの所有者のみがデータにアクセスできます。したがって、ユーザーが保護されたページに移動すると、データのみが入力されます。ユーザーがログインしていない場合、データはまったく提供されません。これはすべてフロントエンドで行われます。Firebase データベースを使用してデータを提供したくない場合は、代わりに、保護されたページでリスナーをアタッチできます。

firebase.auth().onAuthStateChanged(function(user) { if (user) { user.getToken(function(token) { // send this token to user server when loading the // restricted content via xhr. // On the backend server, use the currently available backend // libraries to validate the token and then serve the user's // data. // https://firebase.google.com/docs/auth/server/verify-id-tokens }); } });

于 2016-07-06T05:04:57.570 に答える