【问题标题】:Google API - Cross platform client credential authenticationGoogle API - 跨平台客户端凭据身份验证
【发布时间】:2017-08-02 09:42:12
【问题描述】:

我们正在使用一个名为 LibGdx 的框架,它允许您仅使用 Java 编写跨平台代码。我们正在为 Android 和 iOS 开发。

我们在 Google 云中有一个数据存储,以及我们为与该数据存储通信而制作的 Google 应用引擎 api。

现在我们想要保护此 API,但找不到关于如何跨平台处理此问题的良好指导。由于我们混合使用了 fb-login 和 email-login,因此我们需要使用客户端凭据(即仅允许我们的应用与我们的 API 通信)。

使用 .NET,您将发送客户端凭据(客户端 ID/Cleint 密码),然后获取访问令牌,但不确定在这种情况下如何处理。我们没有任何作用域或类似的东西,我们只是想保护我们的 API,这样它就不能被任何人调用。所以一个简单的 Bearer-token 就可以解决我们的问题。只是不知道从哪里开始。

【问题讨论】:

    标签: android ios api google-app-engine google-cloud-platform


    【解决方案1】:

    你应该看看 Firebase 身份验证

    https://firebase.google.com/docs/auth/

    Firebase 支持多个登录提供商,例如 Google 和 Facebook。您将收到来自 Firebase 身份验证的令牌,您必须将其转发到您在 Google App Engine 上的 API。

    您可以使用 Google App Engine 中的 Firebase Admin SDK 再次验证令牌

    https://firebase.google.com/docs/admin/setup

    【讨论】:

    • 谢谢,这看起来很有趣。如果我错了,请纠正我,但这会将我们的用户存储在另一个位置并简单地给我们一个令牌,我们希望将用户放在我们自己的数据库中,因为我们有大量对每个用户都是唯一的值。这还有可能吗?
    • 当你在Serverside收到Firebase Token时,你需要检查这个token的有效性。验证将向您发送一些用户信息,您可以将这些信息存储在您的 Google 数据存储中
    • 看起来确实是我需要的。甚至可能值得将所有内容移至 firbase,使用他们的数据库而不是我们自己的数据库。这样甚至不需要 API。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-08
    • 2021-07-22
    相关资源
    最近更新 更多