我有一个连接到firebase.The问题的应用程序在设备上安装应用程序(在多个设备上工作)时.我读了很多的论坛,没有人works.I阅读在这里和这等on.Thanks!
错误在这里.
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.dev.ptruck, PID: 8833
java.lang.RuntimeException: Unable to get provider com.google.firebase.provider.FirebaseInitProvider: java.lang.ClassNotFoundException: Didn't find class "com.google.firebase.provider.FirebaseInitProvider" on path: DexPathList[[zip file "/data/app/com.dev.ptruck-17.apk"],nativeLibraryDirectories=[/data/app-lib/com.dev.ptruck-17, /vendor/lib, /system/lib]]
at android.app.ActivityThread.installProvider(ActivityThread.java:5196)
at android.app.ActivityThread.installContentProviders(ActivityThread.java:4788)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4728)
at android.app.ActivityThread.access$1500(ActivityThread.java:166)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1343)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5584)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1268)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1084)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.firebase.provider.FirebaseInitProvider" on path: DexPathList[[zip file "/data/app/com.dev.ptruck-17.apk"],nativeLibraryDirectories=[/data/app-lib/com.dev.ptruck-17, /vendor/lib, /system/lib]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
at java.lang.ClassLoader.loadClass(ClassLoader.java:497)
at java.lang.ClassLoader.loadClass(ClassLoader.java:457) …Run Code Online (Sandbox Code Playgroud) 我试图在颤动中使用带有 Dio 的拦截器,我必须处理令牌过期。以下是我的代码
Future<Dio> getApiClient() async {
token = await storage.read(key: USER_TOKEN);
_dio.interceptors.clear();
_dio.interceptors
.add(InterceptorsWrapper(onRequest: (RequestOptions options) {
// Do something before request is sent
options.headers["Authorization"] = "Bearer " + token;
return options;
},onResponse:(Response response) {
// Do something with response data
return response; // continue
}, onError: (DioError error) async {
// Do something with response error
if (error.response?.statusCode == 403) {
// update token and repeat
// Lock to block the incoming request until the token updated
_dio.interceptors.requestLock.lock(); …Run Code Online (Sandbox Code Playgroud) 我试图创建一个云功能触发器,它将在验证电子邮件后执行.
在Cloud Functions示例中,我只能找到关于onCreate和的触发器的示例onDelete.
在文档中,我发现了一些关于创建自定义操作处理程序的内容,但我实际上并不想要替换默认情况下的标准电子邮件验证对话框,我只想在验证电子邮件后更改"用户"的属性.
有没有人有这方面的经验,这甚至可能吗?或者我是创建自定义验证视图/对话框网页的唯一选择?
我一直在尝试使用 Flutter 实现 Google 登录屏幕。
final AuthResult authResult = await _auth.signInWithCredential(credential);
Run Code Online (Sandbox Code Playgroud)
上面一行的编辑说:
未定义的类“AuthResult”
我该如何解决?任何帮助将不胜感激。
google-authentication dart firebase-authentication google-signin flutter
我正在使用 flutter web 和 firebase 身份验证来构建一个 web 应用程序。为此 1. 使用 Google 登录作为登录方法之一创建了 Firebase 应用程序。2. 添加了https://github.com/FirebaseExtended/flutterfire/tree/master/packages/firebase_auth/firebase_auth/example 和https://dart-pub.mirrors.sjtug.sjtu.edu.cn/ 中给出的依赖项包/firebase_auth_web。
当我尝试登录时,会出现 Google 登录窗口。一旦我输入电子邮件地址并按回车键,就会出现以下错误。
“无法登录此浏览器或应用程序可能不安全。请尝试使用其他浏览器。如果您已经在使用受支持的浏览器,您可以刷新屏幕并再次尝试登录。”
我用的是 Chrome 浏览器。我应该怎么做才能使我的应用程序更安全?对于 android,我们可以选择使用 SHA 密钥来加密连接。我们需要为 web 做类似的事情吗?
firebase firebase-authentication google-signin flutter flutter-web
我正在尝试使用 next.js 设置 Firebase。我在控制台中收到此错误。
\n\n\nFirebaseError:预计 collection() 的第一个参数是 CollectionReference、DocumentReference 或 FirebaseFirestore
\n
这是我的自定义钩子之一
\nimport { onAuthStateChanged, User } from '@firebase/auth'\nimport { doc, onSnapshot, Unsubscribe } from 'firebase/firestore'\nimport { useEffect, useState } from 'react'\nimport { auth, fireStore } from './firebase'\n\nexport const useUserData = () => {\n const [username, setUsername] = useState<string | null>(null)\n\n const [currentUser, setCurrentUser] = useState<User | null>(null)\n\n useEffect(() => {\n let unsubscribe: void | Unsubscribe\n\n onAuthStateChanged(auth, (user) => {\n if (user) {\n setCurrentUser(user)\n // The …Run Code Online (Sandbox Code Playgroud) javascript firebase firebase-authentication next.js google-cloud-firestore
import firebase from 'firebase/app';
import 'firebase/auth';
import 'firebase/database';
firebase.initializeApp(firebaseConfig);
const auth = firebase.auth();
const database = firebase.database();
Run Code Online (Sandbox Code Playgroud)
这是我的代码,但它给了我这个错误
类型 'typeof import("[project path]/node_modules/firebase/app/dist/app/index")'.ts(2339) 上不存在属性 'auth'
我有一个使用firebase服务帐户的节点应用程序.我想将应用程序部署到Heroku,但我不想公开我的密钥.我直接从公共github仓库部署,所以我不想在部署中包含服务帐户文件.
我可以使用服务帐户json文件,使每个属性成为一个环境变量,将每个变量添加到Heroku并进行部署.一切都很好(在我的firebase应用程序上授权新的Heroku域之后),但是有更好的方法吗?这是有效的,但这样做很麻烦(复制和粘贴每个变量并移动它).我错过了一个更简单的方法吗?
这是我正在做的改变.从这一行中,它从文件中提取凭据:
admin.initializeApp({
credential: admin.credential.cert('./path/firebase-service-account.json'),
databaseURL: "https://my-firebase-app.firebaseio.com"
});
Run Code Online (Sandbox Code Playgroud)
对于从环境变量引入所有相同内容的对象:
admin.initializeApp({
credential: admin.credential.cert({
"type": process.env.FIREBASE_TYPE,
"project_id": process.env.FIREBASE_PROJECT_ID,
"private_key_id": process.env.FIREBASE_PRIVATE_KEY_ID,
"private_key": process.env.FIREBASE_PRIVATE_KEY,
"client_email": process.env.FIREBASE_CLIENT_EMAIL,
"client_id": process.env.FIREBASE_CLIENT_ID,
"auth_uri": process.env.FIREBASE_AUTH_URI,
"token_uri": process.env.FIREBASE_TOKEN_URI,
"auth_provider_x509_cert_url": process.env.FIREBASE_AUTH_PROVIDER_X509_CERT_URL,
"client_x509_cert_url": process.env.FIREBASE_CLIENT_X509_CERT_URL
}),
databaseURL: "https://my-firebase-app.firebaseio.com"
});
Run Code Online (Sandbox Code Playgroud)
这是将带有服务帐户的firebase应用程序部署到Heroku的最佳实践吗?我正在使用dotenv节点模块来完成此任务.
heroku environment-variables node.js firebase firebase-authentication
据我在Firebase文档中了解,如果用户使用凭据对其帐户进行身份验证,则如果凭据尚未与其他凭据相关联,则应使用相同的凭据严格登录.
换句话说,如果我使用Google登录创建帐户,然后(退出后)尝试使用与Google凭据相同的电子邮件登录Facebook凭据,我应该在logcat中看到此异常:
"已存在具有相同电子邮件地址但登录凭据不同的帐户.请使用与此电子邮件地址关联的提供商登录."
是的,我毫不奇怪地得到了这个例外.但是,如果我使用Facebook创建帐户,然后尝试使用Google凭据登录,则此帐户(Facebook)的提供商将转换为Google.此时身份验证不会失败,但不是预期的结果.我想以某种方式将每个用户与特定凭据相关联.我该怎么解决这个问题?你可以看到下面的代码:
public class SignInActivity extends AppCompatActivity implements GoogleApiClient.OnConnectionFailedListener,
View.OnClickListener {
private static final String TAG = "SignInActivity";
private static final int RC_SIGN_IN = 9001;
private GoogleApiClient mGoogleApiClient;
private FirebaseAuth mFirebaseAuth;
private FirebaseAuth.AuthStateListener mFirebaseAuthListener;
private CallbackManager mCallbackManager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_sign_in);
// Facebook Login
FacebookSdk.sdkInitialize(getApplicationContext());
mCallbackManager = CallbackManager.Factory.create();
LoginButton mFacebookSignInButton = (LoginButton) findViewById(R.id.facebook_login_button);
mFacebookSignInButton.setReadPermissions("email", "public_profile");
mFacebookSignInButton.registerCallback(mCallbackManager, new FacebookCallback<LoginResult>() {
@Override
public void onSuccess(LoginResult loginResult) {
Log.d(TAG, "facebook:onSuccess:" + loginResult);
firebaseAuthWithFacebook(loginResult.getAccessToken());
}
@Override …Run Code Online (Sandbox Code Playgroud) android google-authentication facebook-login firebase firebase-authentication
我相信有一种方法可以在Firebase中更改您的密码,但有一种方法可以让用户忘记密码,并可以分配新密码或使用电子邮件或短信OTP重新验证.我在网上查了一下但似乎找不到一个.
如果有一种方法可以实现,那么需要进行所有函数调用.你能用一个例子指导我吗?