android - 关于 Firebase 身份验证和 Google 端点安全性的说明
问题描述
我有一个使用 Firebase 进行身份验证的 android 应用程序。我想访问 Google 端点 api。我为装饰器设置了参数,@endpoints.api
以便只有这个应用程序可以访问它。
我正在阅读 https://cloud.google.com/endpoints/docs/frameworks/java/calling-from-android上的教程,其中声明要使用端点服务对象,我首先必须这样声明凭据,
credential = GoogleAccountCredential.usingAudience(this, "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 凭据变量来传递进入服务对象,类似于本文第一个链接中的示例?
解决方案
推荐阅读
- java - Spring Boot 审计 - 将当前用户映射到 @CreatedBy、@LastModifiedBy
- python - Pandas DataFrame 中的分组时间数据
- python - tf.gradients() 返回 [None] 的列表
- python - 使用 Python DSL 在 Elasticsearch 中按日期范围过滤数据
- sql - 红移正则表达式匹配
- javascript - BOOTSTRAP:如何让我当前的导航栏有一个下拉选项?
- perl - Class::Struct 错误:找不到对象方法
- fonts - 新语言的 Tesseract 培训,第一民族,加拿大土著无语言不被认可
- arduino - Arduino 通信中的数据不正确
- android - RenderThread 杂乱无章的 android logcat