【发布时间】:2018-03-29 09:10:54
【问题描述】:
尝试将 firebase-admin 添加到我的 Angular 项目中,但出现我无法解决的错误(见屏幕截图)
有npm install google-cloud 但这只会导致更多错误
(来自android并试图自己弄清楚,但在这里我遗漏了一些东西并且不知道到底是什么)
我的app.component.ts:
import {Component} from '@angular/core';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
constructor() {
const admin = require('firebase-admin');
const serviceAccount =
require("C:/Users/Pawel/Desktop/CODE/pamiAdmin3/src/app/serviceKey.json");
admin.initializeApp({
credential: admin.credential.cert(serviceAccount),
databaseURL: 'https://pami-16c0f.firebaseio.com'
});
}
}
【问题讨论】:
-
admin SDK 只能在服务器上使用,不能供最终用户访问(参见Add the Firebase Admin SDK to your Server 页面顶部的警告)。
-
@Jeff 那将是一个服务器页面...:S
-
Admin SDK 仅用于受信任的服务器环境 - 例如您控制的 Node.JS 服务器。应通过数据库安全规则为选定的用户提供更多访问权限以查看/更改数据库中的内容
-
因为 Angular 是一个前端服务,任何有权访问该站点的人都可以获得您的服务密钥。这不是 firebase-admin 的使用方式。
-
@sketchthat -所以该错误的原因是因为我使用的是角度?我应该使用 node.js 制作一个 api,然后将其连接到我管理用户的 Angular 站点 - 这是正确的方法吗?
标签: angular typescript firebase firebase-admin