在网上搜索了多个小时并询问 ChatGPT 后,我没有找到解决方案。
我有一个 Firebase 项目(Web 应用程序),并且正在使用 Gen2 Javascript Node 来实现 Firebase 函数。我已在我的项目中使用 Identity Platform 启用 Firebase Auth。
我目前只使用模拟器。
我遇到的问题是 beforeUserCreated 事件(阻塞函数)没有在我的模拟器中被调用。
所有其他功能都完美运行。用户被创建(由于阻止功能而不应创建)并且日志中没有错误。
我的index.js 文件如下所示:
import {
beforeUserCreated,
beforeUserSignedIn,
} from "firebase-functions/v2/identity";
export const helloworld = v2.https.onRequest((request, response) => {
response.send("Hello from Firebase!");
});
export const beforeusercreated = beforeUserCreated({ region: 'europe-west1' }, (event) => {
const user = event.data;
// Only users of a specific domain can sign up.
if (!user.email || !user.email.endsWith("@example.com")) {
throw new HttpsError("invalid-argument", "Unauthorized email");
}
});```
I also get this in the function logs in the emulator:
```✔ functions[us-central1-beforeusercreated]: providers/cloud.auth/eventTypes/user.beforeCreate function initialized (http://127.0.0.1:5101/univus-9457e/us-central1/beforeusercreated).```
Can someone please help me out here. Has anyone found a solution to this?
I've tried changing the function names, nothing changes. There are no errors, no documentation anywhere!
我遇到了同样的问题,并在第二代页面的身份验证触发器的相同指南中找到了此问题:Firebase 身份验证触发器。 它指出“注意:Cloud Functions for Firebase(第二代)不提供对本指南中描述的事件和触发器的支持。由于第一代和第二代函数可以在同一源文件中并存,因此您仍然可以与第二代功能一起开发和部署此功能。”。这意味着第二代 Firebase 不支持指南中描述的这些身份验证事件和触发器。