На данный момент я создаю API Firebase на nodejs. Я хотел бы обрабатывать все вещи Firebase (например, аутентификацию) с помощью firebase-admin на nodejs. Но как правильно аутентифицировать пользователя через nodejs в firebase-admin без Javascript Firebase SDK на стороне клиента? В официальной документации для администратора я не нашел функцию под названием < strong> signInWithEmailAndPassword (как в SDK на стороне клиента) для nodejs. Есть только функция под названием "getUserByEmail", но эта функция не проверяет, ввел ли пользователь правильный пароль.
Это моя форма:
<form class="sign-box" action="/login" method="post">
<div class="form-group">
<input id="username" name="username" type="text" class="form-control" placeholder="E-Mail"/>
</div>
<div class="form-group">
<input id="password" name="password" type="password" class="form-control" placeholder="Password"/>
</div>
<button type="submit" class="btn btn-rounded">Sign in</button>
</form>
После отправки формы я передаю значения своему API в nodejs:
app.post('/login', urlencodedParser, function (req, res) {
// getting the values
response = {
username: req.body.username,
password: req.body.password
};
// authenticate the user here, but how ?
});
Моя первая идея заключалась в том, чтобы использовать Firebase SDK на стороне клиента, чтобы войти в систему с помощью signInWithEmailAndPassword и получить uid. Получив UID, я хотел отправить UID в nodejs, вызвать функцию createCustomToken и вернуть сгенерированный токен (с некоторыми дополнительными утверждениями) обратно клиенту. Как только я получу токен, я буду использовать функцию signWithCustomToken (на стороне клиента) для аутентификации пользователя. Это правильный способ или есть лучший способ?
require('firebase')
на своем сервере. У него есть API на стороне клиента, которые вам нужныsignInWithEmailAndPassword
и т. Д. - person bojeil   schedule 04.07.2017