【发布时间】:2020-01-12 16:55:29
【问题描述】:
我正在尝试创建具有独特架构的应用程序。将有一个 android 应用程序、一个服务器和一个桌面客户端。问题是,服务器将由用户在本地托管(遵循 linux 上的 mopity 架构)。也就是说,每个用户将在本地托管他们自己的服务器,只有他们使用,他们可以在不使用客户端/Android 应用程序时将其关闭。
此应用程序要求服务器能够向 android 应用程序发送信息,看来唯一真正的解决方案是 firebase 云消息传递(但如果有好的替代方案请纠正我)。问题似乎是firebase需要服务器存储并提供私钥json文件的路径。将此密钥分发给所有用户显然是不安全的。我想知道这个问题是否有更好的解决方案?
我尝试过的:
我创建了一个 android 应用程序,并使用 android studio 工具将 firebase 添加到项目中,并在控制台中创建了一个 firebase 项目。
然后我从控制台下载了私钥并在我的服务器代码中使用了它
应用程序和服务器可以通信,但从安全角度来看,这种架构似乎并不理想。
服务器 (C#) firebase 连接代码:
FirbaseApp FBApp = FirebaseApp.Create(new AppOptions()
{
Credential =
GoogleCredential.FromFile(
"/path/to/json/file/firebase-adminsdk*.json"),
});
如果可能的话,我真的希望能够维护这个架构,但是如果这根本不可能,请告诉我。
【问题讨论】:
标签: c# android firebase firebase-cloud-messaging