我有一个使用Firebase进行身份验证的android应用。我想访问一个Google端点API。我为装饰器@endpoints.api
设置了参数,以便只有该应用程序可以访问它。
我在阅读本教程 https://cloud.google.com/endpoints/docs/frameworks/java/calling-from-android, 指出要使用端点服务对象的地方,我首先必须这样声明凭据,
credential = GoogleAccountCredential.usingAudience(此, “ server:client_id:1-web-app.apps.googleusercontent.com”);
,然后将此凭证传递给服务对象构建器。
但是,由于我已通过Firebase进行身份验证,因此该凭据对象将无法工作。尝试这样做会输出GoogleAuthIOException
错误。
我找不到有关Firebase凭证对象的任何信息,这些信息可用于服务生成器的第三个参数。
我最接近的是
AuthCredential credential = GoogleAuthProvider.getCredential(idToken, null);
我正在阅读一些可能的解决方案,例如 Cloud Endpoints with Firebase Authentication,但此解决方案似乎建议我必须在端点服务上设置FirebaseAdminSDK。
然后我的主要查询是:对于Android上的Firebase身份验证,我是否必须将其ID令牌传递给终结点服务,然后根据第二个链接的建议使用FirebaseAdminSDK对其进行验证,还是可以设置一个简单的Firebase凭证?变量传递给服务对象,类似于本文第一个链接中的示例?