【发布时间】:2020-02-06 07:50:34
【问题描述】:
我想在我的应用中添加一个按钮“使用 google 登录”,并且我正在尝试使用 node js 中的 firebase 进行身份验证。我没有从 firebase 官方网站获得任何示例,其中提供了 java 脚本的文档。
请在下面找到代码sn-p:
const firebaseAdmin = require('firebase-admin');
const serviceAccount = require('./SAK.json');
const FirebaseAuth = require('firebaseauth');
const authProvider = new FirebaseAuth("API_KEY");
const authToken = FirebaseAuth.initTokenMiddleware(serviceAccount);
firebaseAdmin.initializeApp({
credential: firebaseAdmin.credential.cert(serviceAccount)
});
router.get('/loginWithGoogle/', (req,res) => {
authProvider.loginWithGoogle(authToken, function(err, result) {
if (err) {
console.log('err');
}
else {
console.log(result);
}
});
});
我猜 authToken 的值为 null。我收到以下错误:
TypeError:无法读取 null 的属性“修剪” 在 loginWithProviderID (/workspace/sodiumBackend/node_modules/firebaseauth/dist/providers/social-providers.js:22:23) 在 Object.loginWithGoogle (/workspace/sodiumBackend/node_modules/firebaseauth/dist/providers/social-providers.js:57:5) 在 FirebaseAuth.loginWithGoogle (/workspace/sodiumBackend/node_modules/firebaseauth/dist/index.js:61:25) 在 router.get (/workspace/sodiumBackend/src/routes/api/user.js:8:18) 在 Layer.handle [as handle_request] (/workspace/sodiumBackend/node_modules/express/lib/router/layer.js:95:5) 在下一个(/workspace/sodiumBackend/node_modules/express/lib/router/route.js:137:13) 在 Route.dispatch (/workspace/sodiumBackend/node_modules/express/lib/router/route.js:112:3) 在 Layer.handle [as handle_request] (/workspace/sodiumBackend/node_modules/express/lib/router/layer.js:95:5)
【问题讨论】:
标签: node.js firebase express firebase-authentication google-authentication