E/TokenRequestor:您的OAuth2相关配置错误,请检查。详细错误:UNREGISTERED_ON_API_CONSOLE
Posted
技术标签:
【中文标题】E/TokenRequestor:您的OAuth2相关配置错误,请检查。详细错误:UNREGISTERED_ON_API_CONSOLE【英文标题】:E/TokenRequestor: You have wrong OAuth2 related configurations, please check. Detailed error: UNREGISTERED_ON_API_CONSOLE 【发布时间】:2017-10-13 03:21:41 【问题描述】:我在我的应用中通过 Firebase 使用 Google 登录。但是从 Play 商店运行已发布的应用程序时,它显示以下错误。
E/TokenRequestor: You have wrong OAuth2 related configurations, please check. Detailed error: UNREGISTERED_ON_API_CONSOLE
尽管我已经在 Firebase 和 API 控制台上注册了,但我在 JSON 文件中提到了 ID。以下是 JSON 文件代码
"project_info":
"project_number": "311816357497",
"firebase_url": "https://mcqsce.firebaseio.com",
"project_id": "mcqsce",
"storage_bucket": "mcqsce.appspot.com"
,
"client": [
"client_info":
"mobilesdk_app_id": "1:311816357497:android:494b736XXXX6010b",
"android_client_info":
"package_name": "in.readhere.mcqceit"
,
"oauth_client": [
"client_id": "311816357497-9ma34c4qXXXXXXXXXXXXXoep8b24u8g.apps.googleusercontent.com",
"client_type": 1,
"android_info":
"package_name": "in.readhere.mcqceit",
"certificate_hash": "6847ce9f7e38dc588d12345678f21c13bd25ea7c"
,
"client_id": "311816357497-5lbqnmj0bxxxxxxxxxxxxxm4qjfhmq06.apps.googleusercontent.com",
"client_type": 3
],
"api_key": [
"current_key": "AIzaSyC6BGtRfxxxxxxxxxGrwwe_0V3uY9g-0dI"
],
"services":
"analytics_service":
"status": 1
,
"appinvite_service":
"status": 2,
"other_platform_oauth_client": [
"client_id": "311816357497-5lbqnmj0bxxxxxxxxxxxxxxm4qjfhmq06.apps.googleusercontent.com",
"client_type": 3
]
,
"ads_service":
"status": 2
],
"configuration_version": "1"
以下是应用程序的 API 控制台 firebase console
api console
【问题讨论】:
遇到同样的问题有什么解决办法吗? 您的 firebase 和 google play 控制台帐户不同吗?比请保持相似。 @JosephM 你找到解决办法了吗? 你有解决办法吗? 【参考方案1】:花了一些时间后,我弄清楚了 Google 登录有什么问题,以及为什么在我进行 Google 登录时会抛出此错误。
所以这是解决方案:在我的情况下,我已经在 google play store 上发布了 apk,并且我选择了 Google play app 签名它会为安全目的创建新的证书密钥库并且旧的密钥库变得无效(https://support.google.com/googleplay/android-developer/answer/7384423) 并且您已在 firebase 中为旧密钥库添加 SHA1,而不是为 Google 创建的新密钥库添加 SHA1。因此,当您尝试通过 google 登录时,它会引发此错误。
所以我想通了:转到您的 Google Play 控制台(https://play.google.com/apps/publish/) > 选择应用程序(在左侧菜单上)> 发布管理 > 应用程序签名
您将看到两个应用签名证书,一个是您上传的旧密钥库证书,另一个是由 google play 创建的新创建的应用签名证书。因此,从 App 签名证书中复制 SHA1 和 SHA256 密钥并将相同的密钥粘贴到 Firebase 控制台 (https://console.firebase.google.com) > 选择您的项目 > 选择应用程序设置 > 常规(选择您的应用程序包)> 并粘贴 SHA1 和 SHA256 密钥,然后保存就完成了。
重新启动应用程序,它会工作。它适用于我的情况;)
【讨论】:
感谢您的回答 非常感谢。我认为您只是为我节省了数小时的调试时间! 你好,我有更多问题,我必须在从 firebase 添加新的 sha-1 和 SHA256 之前删除最后一个 SHA1 我是否必须使用新的 google-services.json 重新编译和构建游戏 @Abojemyeg 我有他们两个,但得到了同样的错误。但是删除旧的后问题就解决了。【参考方案2】:请检查您的构建变体 [Release|Debug] 。 可能的错误是: 您已经为 DEBUG 添加了 SHA1,并且您构建了发布 apk,反之亦然
【讨论】:
【参考方案3】:您需要在项目设置中为每个 android 应用添加 SHA 指纹。对于 Firebase,使用您的项目名称编辑以下链接,然后为您的应用添加指纹。
https://console.firebase.google.com/project/YOUR_PROJECT_NAME/settings/general/
【讨论】:
是的,我已经为应用程序添加了 SHA 指纹。但它仍然无法正常工作。 @joshiparas 我也有同样的问题。如果找到任何解决方案,请告诉我。 @Maulikpatel 我的 firebase 和 google play 帐户有两封不同的电子邮件。我开始使用相同的电子邮件。我还没有找到任何解决问题的方法。【参考方案4】:完整的配方:
-
作为其他答案,请确保您实际签名的 Android apk 具有与您在 Firebase 项目的 Android 集成部分(您可以下载
google-services.json
的页面)的控制台中指定的相同的 SHA 指纹
最重要的是转到您的 firebase 项目的 Settings
(齿轮图标位于左上角的概览右侧。然后切换到 Account Linking
标签。在该标签上链接 Google Play到您的项目。
瞧!希望您的问题能得到解决。
【讨论】:
【参考方案5】:1)只需打开您的 google 控制台帐户的以下链接
https://console.developers.google.com/apis/credentials
2)选择您的项目并完成,现在尝试登录(谷歌会根据您的 FCM 项目自动创建凭据)。
如果您没有在 FCM987654322@
中创建项目,则只需执行 3 步3) 创建一个新的 Credentials / OAuth 客户端 ID / Android,由 SHA1 指纹和您的 APK 包名称定义。完成
【讨论】:
【参考方案6】:我有同样的问题,问题是我手机的安全网络。我通过删除安全网络来修复。
【讨论】:
【参考方案7】:您需要一个 SHA1 指纹用于调试应用,另一个用于发布。在终端中运行此命令以获取发布指纹:
keytool -exportcert -list -v -alias <your-key-name> -keystore <path-to-production-keystore>
您将需要您的密钥库密码(用于生成签名 APK 的密码)。 然后去https://console.firebase.google.com/project/_/settings/general/添加新指纹
我在尝试在已发布的应用上使用 Google 登录时遇到了同样的问题,这解决了问题
【讨论】:
以上是关于E/TokenRequestor:您的OAuth2相关配置错误,请检查。详细错误:UNREGISTERED_ON_API_CONSOLE的主要内容,如果未能解决你的问题,请参考以下文章