Есть ли параметр signInFailureUrl для проекта GitHub FirebaseUI для Интернета - Auth

Я новичок в коде. Я использую проект github пользовательского интерфейса firebase для обработки моей электронной почты / пароля - 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;
      }
    }
  };

person Matthew O'Rourke    schedule 04.07.2016    source источник


Ответы (1)


Если 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 }); } });

person bojeil    schedule 06.07.2016
comment
Если не ошибаюсь, я вообще никаких данных не обслуживаю. Я пытаюсь ограничить доступ к странице с видео компании только для пользователей, которых я добавил вручную на вкладке Auth ›Users в консоли firebase. Означает ли это, что мне нужно использовать слушателя? Я использую squarespace.com для создания этого веб-сайта, поэтому он находится на их серверах. Хотел бы я по-прежнему, чтобы слушатель не давал непользователям когда-либо загружать страницу с квадратным пространством? - person Matthew O'Rourke; 07.07.2016
comment
Вам чего-то не хватает: вам нужно вернуть false в uiConfig.callbacks.signInSuccess, иначе вы получите следующую ошибку: URL-адрес перенаправления не найден. Вы должны либо указать signInSuccessUrl в конфигурации, передать URL-адрес перенаправления на URL-адрес виджета, либо вернуть false из обратного вызова - person oliversisson; 31.07.2017