And*_*rej 5 firebase react-native google-signin react-native-firebase
我已在 Firebase 上启用 Google SignIn,并且还添加了 SHA-1 密钥。我的应用程序编译得很好,但是当我按下登录按钮并选择 Google 帐户进行登录时,我得到了Possible Unhandled Promise Rejection (id: 0): Error: DEVELOPER_ERROR
当我尝试使用匿名登录时我没有收到任何错误。我使用的是 Android,并且所有模块都有最新版本。这是完整的错误代码:
[Fri Oct 23 2020 18:08:26.174] WARN Possible Unhandled Promise Rejection (id: 0):
Error: DEVELOPER_ERROR
promiseMethodWrapper@http://localhost:8081/index.bundle?platform=android&dev=true&minify=false:2242:45
signIn$@http://localhost:8081/index.bundle?platform=android&dev=true&minify=false:102709:72
tryCatch@http://localhost:8081/index.bundle?platform=android&dev=true&minify=false:24976:23
invoke@http://localhost:8081/index.bundle?platform=android&dev=true&minify=false:25149:32
tryCatch@http://localhost:8081/index.bundle?platform=android&dev=true&minify=false:24976:23
invoke@http://localhost:8081/index.bundle?platform=android&dev=true&minify=false:25049:30
http://localhost:8081/index.bundle?platform=android&dev=true&minify=false:25059:21
tryCallOne@http://localhost:8081/index.bundle?platform=android&dev=true&minify=false:27056:16
http://localhost:8081/index.bundle?platform=android&dev=true&minify=false:27157:27
_callTimer@http://localhost:8081/index.bundle?platform=android&dev=true&minify=false:30596:17
_callImmediatesPass@http://localhost:8081/index.bundle?platform=android&dev=true&minify=false:30635:17
callImmediates@http://localhost:8081/index.bundle?platform=android&dev=true&minify=false:30852:33
__callImmediates@http://localhost:8081/index.bundle?platform=android&dev=true&minify=false:2736:35
http://localhost:8081/index.bundle?platform=android&dev=true&minify=false:2522:34
__guard@http://localhost:8081/index.bundle?platform=android&dev=true&minify=false:2719:15
flushedQueue@http://localhost:8081/index.bundle?platform=android&dev=true&minify=false:2521:21
flushedQueue@[native code]
callFunctionReturnFlushedQueue@[native code]
Run Code Online (Sandbox Code Playgroud)
这是我的App.js:
import React, {useState, useEffect} from 'react';
import {View, Text, Button} from 'react-native';
import auth from '@react-native-firebase/auth';
import firebase from '@react-native-firebase/app';
import {GoogleSignin} from '@react-native-community/google-signin';
const firebaseConfig = {
apiKey: 'xxxx',
appId: 'xxxx',
databaseURL: 'https://xxxx.firebaseio.com',
messagingSenderId: 'xxxx',
projectId: 'xxxx',
storageBucket: 'xxxx.appspot.com',
};
if (!firebase.apps.length) {
firebase.initializeApp(firebaseConfig);
}
const App = () => {
useEffect(() => {
// initialize the Google SDK
GoogleSignin.configure({
scopes: ['email'],
webClientId:
'xxxx.apps.googleusercontent.com',
offlineAccess: true,
});
}, []);
const googleLogin = async () => {
// Get the users ID token
const {idToken} = await GoogleSignin.signIn();
// Create a Google credential with the token
const googleCredential = auth.GoogleAuthProvider.credential(idToken);
// Sign-in the user with the credential
return auth().signInWithCredential(googleCredential);
};
return (
<View>
<Button title="Login" onPress={() => googleLogin()}></Button>
</View>
);
};
export default App;
Run Code Online (Sandbox Code Playgroud)
小智 6
您在 firebase 中的 SHA-1 密钥与应用程序的 SHA-1 密钥不匹配。要获取正确的 SHA-1 密钥,请按照控制台中的命令和应用程序路径操作:
keytool -list -v -keystore ./android/app/debug.keystore -alias androiddebugkey -storepass android -keypass android
ruw*_*nka -1
问题是 SHA-1 密钥。当我们使用gradlew signingReport命令时,会创建许多类型的varient登录报告。因此,请使用与Varient : relese相关的 SHA-1 密钥。
| 归档时间: |
|
| 查看次数: |
7777 次 |
| 最近记录: |