Cố gắng cập nhật dữ liệu Người dùng trong Cơ sở dữ liệu thời gian thực khi Người dùng được tạo. Đây là mã của tôi:Chức năng đám mây cho sự kiện xác thực Firebase dành cho nhà cung cấp dịch vụ xã hội
const functions = require('firebase-functions');
const promise = require('request-promise');
const admin = require('firebase-admin');
admin.initializeApp(functions.config().firebase);
var omitBy = require('lodash.omitby');
var isNil = require('lodash.isnil');
'use strict';
exports.userCreated = functions.auth.user().onCreate(event => {
let request = admin.auth().getUser(event.data.uid)
.then(function(user) {
console.log("Successfully fetched user data: ", user.toJSON());
var email, firstName, lastName, photoURL;
for (var provider of user.providerData) {
if (provider.email) {
email = provider.email;
}
if (provider.photoURL) {
photoURL = provider.photoURL;
}
if (provider.displayName) {
const names = provider.displayName.split(' ');
firstName = names[0];
if (names.length > 1) {
lastName = names[names.length - 1];
}
}
}
var values = omitBy({
email: email,
first_name: firstName,
last_name: lastName,
license_agreement_version: '1.1',
image_url: photoURL
}, isNil);
admin.database().ref('users/' + user.uid).set(values);
})
.catch(function(error) {
console.error("Error Fetching User: ", error);
});
return request;
});
Tuy nhiên, khi người dùng được tạo qua. Facebook, dữ liệu của nhà cung cấp không được cung cấp. Đây là nhật ký bảng điều khiển:
Successfully fetched user data: { uid: 'exampleUID',
email: undefined,
emailVerified: false,
displayName: undefined,
photoURL: undefined,
disabled: false,
metadata:
{ lastSignedInAt: 2017-03-16T19:40:59.000Z,
createdAt: 2017-03-16T19:40:59.000Z },
providerData: [] }
Tôi có làm gì sai hoặc dữ liệu này không được cung cấp khi tạo?
Bạn đã bao giờ tìm thấy một lời giải thích, là tại sao các người dùng chưa hoàn thành cho Facebook và Google? –