Dan*_*bar 6 javascript react-native google-signin expo
我开发了一个 React Native 应用程序,并使用 Expo Google-Sign-In 进行 Firebase 身份验证。当我尝试对 Android 上的独立 APK 进行身份验证时,我收到错误“DEVELOPER_ERROR”。
最初,我使用“Expo Google”,但现在已弃用,并且我的登录按钮在我的独立 APK 上没有执行任何操作。通过Expo Google方法,我发现我必须设置androidStandaloneAppClientId。即使在那之后,登录在身份验证后仍停留在 Google 主页。我尝试了使用自定义重定向 URI 的解决方案,如
重定向网址:${AppAuth.OAuthRedirect}:/oauth2redirect/google
但这导致了另一个错误:redirect_uri 不匹配。
我改用了 Expo Google-Sign-In 库,每次尝试进行身份验证时都会出现 DEVELOPER_ERROR 错误。
之后,我尝试过:
我尝试了在 Expo Google-Sign-In 中涉及 DEVELOPER_ERROR 的现有线程中可能未提及的其他内容。
我在下面的代码中提到的变量来自以下内容:
SHA1 已生成并用于创建我的凭据,它是我的 OAuth Android 客户端 ID 中使用的指纹。
我在文件中引用的客户端 ID 是我的 OAuth Web 客户端 ID。不过,我也尝试过使用 Android 版本,但并没有改变任何东西。
api_key 中的“CurrentKey”是我的 Firebase 项目中的 API 密钥。
这是我的 Google 凭据页面的链接。
https://i.stack.imgur.com/MVfO2.jpg
/* 我的 app.json: */
{
"expo": {
"name": "AssistiveNote",
"privacy": "public",
"description": "A note app for people who have trouble reading text.",
"slug": "assistivenote",
"sdkVersion": "33.0.0",
"version": "2.0.0",
"orientation": "portrait",
"icon": "./screens/images/icon.png",
"ios": {
"bundleIdentifier": "com.danyalbabar.assistivenote"
},
"android": {
"versionCode": 2,
"package": "com.danyalbabar.assistivenote",
"googleServicesFile": "./google-services.json",
"permissions": [ " " ],
"config": {
"googleSignIn": {
"certificateHash": "XXXX"
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
我的 google-services.json:
{
"project_info": {
"project_number": "XXXX",
"firebase_url": "https://era-gvision.firebaseio.com",
"project_id": "era-gvision",
"storage_bucket": "era-gvision.appspot.com"
},
"client": [
{
"client_info": {
"mobilesdk_app_id": "XXXX",
"android_client_info": {
"package_name": "com.danyalbabar.assistivenote"
}
},
"oauth_client": [
{
"client_id": "XXXX",
"client_type": 3
}
],
"api_key": [
{
"current_key": "XXXX"
}
],
"services": {
"appinvite_service": {
"other_platform_oauth_client": [
{
"client_id": "XXXX",
"client_type": 3
}
]
}
}
}
],
"configuration_version": "1"
}
Run Code Online (Sandbox Code Playgroud)
eas2022 年 11 月更新(安卓)如果您正在使用eas并获得DEVELOPER_ERROR:
eas credentials(按照步骤获取 SHA1)google-services.json(与上面相同的 URL)并将其放入您的项目文件夹中app.json以包括expo.android.googleServicesFile: "./path/to/google-services.json"app.json: 中仔细检查是否expo.android.package与 googleServicesFile 中的包匹配GoogleSignin.configure()keytool -printcert -jarfile app.apk(将打印 SHA1)Dan*_*bar -2
总的来说,这个 API 似乎有很多损坏的行为,现在已被弃用。当时我开始使用电子邮件/密码身份验证,但现在有更新的 Expo API 以新的方式实现。
https://docs.expo.io/guides/authentication/
| 归档时间: |
|
| 查看次数: |
4909 次 |
| 最近记录: |