Я получил собственный токен после того, как начал отладку с помощью следующего кода:
const admin = require('firebase-admin');
const serviceAccount = require('C:/Node_firebase_Funcetion/Documents/generate_token/serviceAccountKey.json');
admin.initializeApp({credential: admin.credential.cert(serviceAccount),});
var additionalClaims = { premiumAccount: true };
admin.auth().createCustomToken("j92C5KJtRQblKXRM0XUZzx4Jonm2", additionalClaims)
.then(function(customToken: any) {
console.log(customToken);
})
.catch(function(error: any) {
console.log(error);
});
Я создаю код для возврата данных клиенту.
import * as functions from 'firebase-functions';
const admin = require('firebase-admin');
const serviceAccount = require('C:/Node_firebase_Funcetion/Documents/generate_token/serviceAccountKey.json');
admin.initializeApp({credential: admin.credential.cert(serviceAccount),});
exports.Create_custom_tokens = functions.https.onCall((client) => {
console.log(client.user_ID);
return {operationResult : "..Test..return.. data.."};
});
но что-то не так,
Когда я запускаю «firebase deploy», я получаю сообщение об ошибке.
+ functions: functions folder uploaded successfully
i functions: creating Node.js 8 function Create_custom_tokens(us-central1)...
! functions[Create_custom_tokens(us-central1)]: Deployment error.
Function failed on loading user code. Error message: Code in file lib/index.js can't be loaded.
Did you list all required modules in the package.json dependencies?
Detailed stack trace: Error: Cannot find module 'C:/Node_firebase_Funcetion/Documents/generate_token/serviceAccountKey.json'
at Function.Module._resolveFilename (module.js:548:15)
at Function.Module._load (module.js:475:25)
at Module.require (module.js:597:17)
at require (internal/module.js:11:18)
at Object.<anonymous> (/srv/lib/index.js:5:24)
at Module._compile (module.js:653:30)
at Object.Module._extensions..js (module.js:664:10)
at Module.load (module.js:566:32)
at tryModuleLoad (module.js:506:12)
at Function.Module._load (module.js:498:3)
Functions deploy had errors with the following functions:
Create_custom_tokens
To try redeploying those functions, run:
firebase deploy --only functions:Create_custom_tokens
To continue deploying other features (such as database), run:
firebase deploy --except functions
Error: Functions did not deploy properly.
PS C:\Node_firebase_Funcetion>
будет хорошо, если я уберу:
const serviceAccount = require('C:/Node_firebase_Funcetion/Documents/generate_token/serviceAccountKey.json');
с последующим использованием:
admin.initializeApp(functions.config().firebase);
в подставке:
"admin.initializeApp({credential:admin.credential.cert(serviceAccount),});"
но я не могу получить пользовательский токен, потому что не имеет serviceAccountKey.json. T0T