Как установить значение idToken для поста - PullRequest
0 голосов
/ 10 октября 2019

Я пытался проверить ID токены с помощью Firebase Admin SDK. Я хочу отправить токен на сторону сервера со стороны клиента. Но кажется, что он размещен неправильно.

Сначала войдите в систему на стороне клиента и получите токен. И установите значение токена на входном теге (id:postToken).

client.js

firebase.auth().signInWithEmailAndPassword(email, password).then(user => {
  firebase.auth().onAuthStateChanged( (user) => {
    user.getIdToken().then(function(data) {
      var token = data;
      document.getElementById('postToken').value = token;↲
    }).catch((error)=>{
      // Handle Errors here.
    });
  });
}).catch(function(error) {
  // Handle Errors here.
});

login.pug

form(name="sendToken" action="/login" method="post")
  span email
  input(id="email" type="email" name="email")
  span password
  input(id="password" type="password" name="password" required)
  input(type="hidden" name="token" id="postToken")
  input(type="button" onclick="toggleSignIn();" value="login")

Во-вторых, я хочу отправить токен на сервер, нажав кнопку отправки.

router.post('/', function(req, res, next) {
  var email = req.body.email;
  var password = req.body.password;
  var token = req.body.token;
  console.log(token)
  res.cookie('idToken', token, {maxAge: 60 * 60 * 24 * 1000})
  res.redirect('/mypage');
});

В этот момент я обнаружил, что токен не был отправлен на сервер.

Кажется, токен установлен в значении входного тега на стороне клиента, но, похоже,что он плохо размещен.

Как я могу отправить токен на сервер? Я подозреваю, что существует проблема с синхронизацией нажатия кнопки и синхронизацией функции.

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