0

我对代码非常陌生。我正在使用 firebase 的 firebase UI github 项目来处理我的电子邮件/密码身份验证 — https://github.com/firebase/firebaseui-web。重定向正在工作,但我如何防止用户绕过登录页面并简单地访问“成功”网址(如果有人只是与他们分享)。我希望能够简单地设置一个“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 回答