У меня есть базовое 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;
Предоставление разрешения запрещено