В настоящее время я проверяю своего пользователя, используя вместе Auth JS SDK и Admin Auth SDK. Я использую следующий подход: В интерфейсе:
firebase.auth().onAuthStateChanged(function (user) {
if (user) {
var current_user = firebase.auth().currentUser;
current_user.getIdToken(true).then(function (idToken) {
$.getJSON('/firebase_token', { token: idToken }, function (user) {
В бэкенде:
router.get("/firebase_token", (req, res, next) => {
admin.auth().verifyIdToken(req.query.token).then(function(decodedToken) {
res.send(decodedToken);
})
})
Мне интересно, является ли это безопасным подходом, потому что пользователь может просто отправить любой токен, который он хочет, из внешнего интерфейса. Например, недействительный пользователь может отправить действительный токен, который они скопировали из действующей учетной записи, чтобы пройти проверку токена.
Мне интересно, есть ли в SDK администратора. Есть способ определить текущего авторизованного пользователя. Другими словами, определить this user
, кто использует this
экземпляр приложения с административным SDK?