【发布时间】:2020-06-11 00:46:41
【问题描述】:
我有一个基本的安全规则来检查用户是否经过身份验证。
{
"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;
授予权限被拒绝
【问题讨论】:
标签: firebase firebase-realtime-database firebase-authentication google-cloud-functions firebase-security