Использование Firebase для аутентификации на сайте - PullRequest
0 голосов
/ 09 марта 2019

Я работаю на моем веб-сайте (http://mysite.example.com);, где я внедрил систему входа в систему, используя Firebase.

Другими словами, когда посетители заходят, они должны войти в систему как пользователь Firebase, а затем (только), если это произойдет, они могут попасть на мой сайт.

Хотя это функционально работает, мне все еще нужно обезопасить процесс. Поиск в сети приводит меня к большому количеству материала. Но я хотел бы знать, как далеко я должен идти для своей конкретной цели. Другими словами, я не хочу тратить часы на изучение, если я могу сделать то, что мне нужно, в несколько простых шагов.

Один документ, который я нашел, таков: https://firebase.google.com/docs/auth/admin/verify-id-tokens#retrieve_id_tokens_on_clients

Вот два вопроса, которые я имею в виду:

  1. Нужно ли указывать на моем веб-сайте URL-адрес типа https чем http ?
  2. Нужно ли устанавливать Firebase Admin SDK ?

В упомянутом выше документе говорится в примечании: Многие варианты использования для проверки токенов ID на сервере могут быть выполнены с помощью ....

Но я не уверен, что это позволит мне выбрать легкий путь.

Вот тип кода, который я сейчас использую:

firebase.auth().onAuthStateChanged(function(user) {
    if (user) {
      // User is signed in.
      checkUser();
    } else {
      // No user is signed in.
      console.log("No user has logged in yet.");
    }
});


function checkUser() {
    let user = firebase.auth().currentUser;

    if (user) {
      .........
      // The user is signed in, we open the door to the web site.
      window.open("http://mysite.example.com",'_self');
    } else {
      // No user is signed in.
      console.log("No user is logged in.");
    }
}

В месте, отмеченном ..... Я не делаю много; но мне может понадобиться добавить такой код (с некоторой довольно сложной проверкой):

  user.getIdToken(true).then(function(idToken) {
    // Send token to your backend via HTTPS
    // ...
    console.log("getIdToken - Seem-To-Be-OK! \n\t" + idToken);
  }).catch(function(error) {
    // Handle error
    console.log("getIdToken - Error: " + error);
  });

Это то, что я хотел бы подтвердить, а также знать, каково простейшее решение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...