Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/99.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Google API-跨平台客户端凭据身份验证_Android_Ios_Api_Google App Engine_Google Cloud Platform - Fatal编程技术网

Android Google API-跨平台客户端凭据身份验证

Android Google API-跨平台客户端凭据身份验证,android,ios,api,google-app-engine,google-cloud-platform,Android,Ios,Api,Google App Engine,Google Cloud Platform,我们正在使用一个名为LibGdx的框架,它允许您只使用Java编写跨平台代码。我们正在为Android和iOS开发 我们在谷歌云中有一个数据存储,还有一个谷歌应用程序引擎api,我们用来与这个数据存储进行通信 现在我们想要保护这个API,但找不到关于如何跨平台实现这一点的良好指导。由于我们混合了fb登录和电子邮件登录,我们需要使用客户端凭据(即,只有我们的应用程序才允许与我们的API通信) 使用.NET,您将发送客户端凭据(客户端ID/Cleint secret),然后获取访问令牌,但不确定在此

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

我们在谷歌云中有一个数据存储,还有一个谷歌应用程序引擎api,我们用来与这个数据存储进行通信

现在我们想要保护这个API,但找不到关于如何跨平台实现这一点的良好指导。由于我们混合了fb登录和电子邮件登录,我们需要使用客户端凭据(即,只有我们的应用程序才允许与我们的API通信)


使用.NET,您将发送客户端凭据(客户端ID/Cleint secret),然后获取访问令牌,但不确定在此场景中如何实现。我们没有任何作用域或类似的东西,我们只是想保护我们的API,这样它就不会被任何人调用。所以一个简单的不记名代币可以解决我们的问题。只是不确定从哪里开始。

您应该看看Firebase身份验证

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

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


谢谢,这看起来确实很有趣。如果我错了,请纠正我的错误,但这会将我们的用户存储在另一个位置,并简单地给我们一个令牌。我们希望用户位于我们自己的数据库中,因为我们有大量对每个用户唯一的值。这是否仍然可行?当您在服务器端收到Firebase令牌时,需要检查该令牌的有效性。验证将向您返回一些用户信息,您可以将这些信息存储在您的Google数据存储中。看起来这正是我所需要的。甚至可能值得将所有内容移动到firbase,使用他们的数据库而不是我们自己的数据库。这样就不需要API了。