是否有可能获得我的应用程序的当前用户并将其放置在FirebaseonRequest
函数内?
我正在尝试以下内容:
import * as functions from 'firebase-functions';
import * as admin from 'firebase-admin';
import { getAuth } from "firebase/auth";
import { config } from 'dotenv';
admin.initializeApp();
config();
const axios = require('axios').default;
export const getCurrentUser = functions.https.onRequest( (req, res) => {
const auth = getAuth();
const user = auth.currentUser;
res.send(user);
console.log(user);
});
但是我得到以下错误:
FirebaseError: Firebase:需要提供选项,当不是通过源代码部署到主机。(app/任何选项)。在initializeApp
文档如下:https://firebase.google.com/docs/auth/web/manage-users#get_the_currently_signed-in_user
可以将Firebase ID令牌作为承载令牌在发送到HTTPS云函数的请求的授权头中传递,如本官方示例所示,但我强烈建议使用Callable函数,因为Firebase身份验证令牌自动包含在请求中。
就像下面这样简单:
exports.getCurrentUser = functions.https.onCall((data, context) => {
const callerUid = context.auth.uid;
// ... Then use the Admin SDK methods to get the user, etc.
// ... See https://firebase.google.com/docs/auth/admin/manage-users#retrieve_user_data
// ...
});