根据firebase rest api安全规则对用户进行身份验证
我有一个基本的安全规则来检查用户是否经过身份验证根据firebase rest api安全规则对用户进行身份验证,firebase,firebase-realtime-database,firebase-authentication,google-cloud-functions,firebase-security,Firebase,Firebase Realtime Database,Firebase Authentication,Google Cloud Functions,Firebase Security,我有一个基本的安全规则来检查用户是否经过身份验证 { "rules": { "users": { "$user_id": { ".write": "auth != null" } } } } 当从客户端应用程序发送访问令牌时,如何获取firebase安全规则以确认云函数中的身份验证数据 请求方法=Post import * as admin from 'firebase-admin' const DEPLOYED = false
{
"rules": {
"users": {
"$user_id": {
".write": "auth != null"
}
}
}
}
当从客户端应用程序发送访问令牌时,如何获取firebase安全规则以确认云函数中的身份验证数据
请求方法=Post
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规则的信息
如果这些信息对你有帮助,请告诉我 准确地说,如果有人遇到这个问题,从这个链接。