Аутентификация пользователя по правилам безопасности firebase rest api - PullRequest
0 голосов
/ 27 февраля 2020

У меня есть базовое c правило безопасности, которое проверяет, аутентифицирован ли пользователь.

{
  "rules": {
    "users": {
      "$user_id": {
        ".write": "auth != null"
      }
    }
  }
}

Как получить правила безопасности firebase для подтверждения данных аутентификации из облачных функций при отправке токена доступа из клиентское приложение.

Метод запроса = публикация

import * as admin from 'firebase-admin'

const DEPLOYED = false;

admin.initializeApp()

const ValidateToken = (request: any, response: any) => {

    const params = {
        a: request.body.token, // Client Validation
    }

    const ValidateToken = admin.auth().verifyIdToken(params.a).catch((error) => { throw { Message:error }});

    return Promise.all([ValidateToken]).then((res: any) => {
        return DEPLOYED ? res : response.status(200).json(res);
    }).catch(error => {
        return DEPLOYED ? error : response.status(400).json(error);
    });
}

export default ValidateToken;

Предоставляет 200 ответов и пользовательских данных.

Обновление имени пользователя

import FBApp from '../utils/admin'

FBApp

const UpdateUsername = (request: any, response: any) => {

    const params = {
        a: request.body.UID,
        b: request.body.username
    }

    const UpdateProfile = FBApp.database().ref('users').child(`${params.a}/username`).set(`@${params.b}`).catch((error) => { throw { Message:error }});

    return Promise.all([UpdateProfile]).then((res: any) => {
        response.status(200).json(res);
    }).catch(error => {
        response.status(400).json(error);
    });
}

export default UpdateUsername;

Предоставление разрешения запрещено

1 Ответ

1 голос
/ 27 февраля 2020

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

Кроме того, я нашел эту статью ниже, которая также предоставит вам дополнительную информацию об использовании правил с Облачные функции и Firebase.

Дайте мне знать, помогла ли информация вы!

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