【问题标题】:Secure communication between Flutter App and Web PHPFlutter App 和 Web PHP 之间的安全通信
【发布时间】:2022-01-02 13:28:42
【问题描述】:

我自己也在学习 Flutter,需要一些专家指导,以正确的方式做我想做的事。

我想让我的 Flutter 应用程序的用户安全地发送一些敏感数据(例如电子邮件、电话号码、姓名等)到我的基于 PHP 的网站(使用 REST API),然后,一段时间后,我会喜欢从我的网站向发件人的设备发送回复(例如文本)并将其显示在用户的屏幕上。

我怀疑我应该为此使用 Firebase 云消息传递 - 对吗?

我找到了解释如何从 Flutter-> FCM 和 PHP(curl)-> FCM 发送数据的教程。但是我找不到解释如何从 Flutter-> FCM-> PHP 发送数据的教程?

【问题讨论】:

    标签: firebase flutter firebase-cloud-messaging


    【解决方案1】:

    Firebase 云消息传递通常用于在用户可能未主动使用应用程序时服务器发送消息应用程序。虽然它可以用于将消息从客户端发送到服务器,但这种情况并不常见。

    这是因为从 Flutter 应用调用 PHP API 与从 Internet 检索任何数据没有什么不同,并且可以通过多种方式完成。 Flutter 的fetching data from the internet 页面中记录了一种更简单的方法,并使用了http 包。

    【讨论】:

    • 安全性怎么样?每次调用 API 时都必须发送所有敏感数据吗?我没有提到它,但同时我想保护服务器免受虚假呼叫的影响。也许我应该使用云功能?注册的 Firebase 用户将运行一个 Cloud 函数,该函数从 Firebase 数据库中检索所有敏感数据,并使用 API 密钥将其安全地发布到我的 PHP API?然后我可以使用 FCM 从我的 PHP API 回复用户?
    • 保护 API 是您的责任。如果您想允许您的应用程序的任何用户向应用程序的任何其他用户发送他们想要的任何消息,那么只需检查他们的身份验证状态(在 Cloud Functions 中或通过 verifying the ID token 您自己)可能就足够了。您还可以考虑使用 App Check 来验证调用是否来自您的客户端应用程序代码,这需要类似的token verification,但现在需要应用令牌。
    • App Check 看起来很有希望,但我只看到使用 Node.js 执行此操作的选项?是否可以使用 PHP 检查应用令牌?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-07-26
    • 1970-01-01
    • 2014-01-17
    • 1970-01-01
    • 2021-12-31
    • 1970-01-01
    • 2013-09-14
    相关资源
    最近更新 更多