升级Firebase Auth (20.0.0)电话身份验证依赖项后出错,PhoneAuthProvider.getInstance().verifyPhoneNumber()
依赖:
implementation 'com.google.firebase:firebase-auth:20.0.0'
Run Code Online (Sandbox Code Playgroud)
错误:
java.lang.NoClassDefFoundError: Failed resolution of: Landroidx/browser/customtabs/CustomTabsIntent$Builder;
at com.google.firebase.auth.internal.RecaptchaActivity.zza(com.google.firebase:firebase-auth@@20.0.0:92)
at com.google.firebase.auth.api.internal.zzeq.zza(com.google.firebase:firebase-auth@@20.0.0:79)
at com.google.firebase.auth.api.internal.zzeq.onPostExecute(com.google.firebase:firebase-auth@@20.0.0:88)
at android.os.AsyncTask.finish(AsyncTask.java:755)
at android.os.AsyncTask.access$900(AsyncTask.java:192)
at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:772)
at android.os.Handler.dispatchMessage(Handler.java:107)
at android.os.Looper.loop(Looper.java:237)
at android.app.ActivityThread.main(ActivityThread.java:7948)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1075)
Caused by: java.lang.ClassNotFoundException: Didn't find class "androidx.browser.customtabs.CustomTabsIntent$Builder"
Run Code Online (Sandbox Code Playgroud)
谁能解释我应该为新的依赖项更改什么?有哪些新举措?
我一直在尝试使用 Firebase 身份验证来实现电话身份验证。它正在与 android 模拟器一起使用。我在模拟器中使用了一个测试号和一个实数。两者都有效。但只有测试号码在真实设备上工作,并为其他号码抛出此异常
Error is:[firebase_auth/missing-client-identifier] This request is missing a valid app identifier,
meaning that neither SafetyNet checks nor reCAPTCHA checks succeeded.
Please try again, or check the logcat for more details.
Run Code Online (Sandbox Code Playgroud)
我也在 firebase 中设置了 SHA 密钥。
根据我的理解,Google身份识别工具包提供了一个用于登录不同帐户的层,例如Facebook,Yahooo等,但这与Google OAuth实施有何不同?关于Google+登录,它仍在使用OAuth,但仅启用Google帐户登录?
oauth google-plus google-identity-toolkit firebase-authentication google-identity
我正在尝试在我的Android应用程序中编写删除用户方法,但每次执行它时都会遇到一些问题.当用户按下活动上的删除帐户按钮时,将执行此方法.我的应用与FirebaseUI Auth配合使用.
这是方法:
private void deleteAccount() {
Log.d(TAG, "ingreso a deleteAccount");
FirebaseAuth firebaseAuth = FirebaseAuth.getInstance();
final FirebaseUser currentUser = firebaseAuth.getCurrentUser();
currentUser.delete().addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
if (task.isSuccessful()) {
Log.d(TAG,"OK! Works fine!");
startActivity(new Intent(Main3WelcomeActivity.this, Main3Activity.class));
finish();
}
}
}).addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
Log.e(TAG,"Ocurrio un error durante la eliminación del usuario", e);
}
});
}
Run Code Online (Sandbox Code Playgroud)
1)当我执行该功能时,屏幕上会出现一个Smart Lock消息,用户再次登录.以下是此消息的屏幕截图.
2)在其他情况下,当用户登录很长时间时,该函数抛出一个Exception,如下所示:
06-30 00:01:26.672 11152-11152/com.devpicon.android.firebasesamples E/Main3WelcomeActivity: Ocurrio un error durante la …Run Code Online (Sandbox Code Playgroud) android firebase-authentication firebase-realtime-database firebaseui
最近firebase团队发布了新版本的firebase 3.1,它与react-native兼容.我正试图在facebook上使用新的firebase api.
由于firebase不支持react-native中的弹出或重定向,我使用react-native-fbsdk来获取访问令牌,但是当我尝试使用auth.signInWithCredential时,登录失败
代码:"auth/app-not-authorized",
消息:"此应用由托管的域识别,无权使用提供的API密钥使用Firebase身份验证.请在Google API控制台中查看您的密钥配置."
这是我的代码.任何帮助将非常感谢.
import { LoginManager, AccessToken} from 'react-native-fbsdk';
import firebase from '../Services/firebase';
const auth = firebase.auth();
const provider = firebase.auth.FacebookAuthProvider;
LoginManager.logInWithReadPermissions(['public_profile'])
.then(loginResult => {
if (loginResult.isCancelled) {
console.log('user canceled');
return;
}
AccessToken.getCurrentAccessToken()
.then(accessTokenData => {
const credential = provider.credential(accessTokenData.accessToken);
return auth.signInWithCredential(credential);
})
.then(credData => {
console.log(credData);
})
.catch(err => {
console.log(err);
});
});
Run Code Online (Sandbox Code Playgroud) Firebase v3参考指南表明createUserWithEmailAndPassword(email, password)返回firebase.Promise包含非null firebase.User.
使用基于密码的帐户指南的Firebase v3 使用Firebase进行身份验证显示以下示例
firebase.auth().createUserWithEmailAndPassword(email, password).catch(function(error) {
// Handle Errors here.
var errorCode = error.code;
var errorMessage = error.message;
// ...
});
Run Code Online (Sandbox Code Playgroud)
我的问题是,我想启动一个函数,将用户添加到users我的实时数据库中的节点.我想要包括我从网站注册表单中收集的用户显示名称.所以,似乎我想要做一个.then,如果createUserWithEmailAndPassword方法成功,我想触发一个将新用户(带有显示名称)写入我的Realtime Database users节点的函数.
如何将示例脚本修改为.then样式?
我在向Firebase执行经过身份验证的请求时遇到了一些问题.
我生成了令牌但是当我将其发送到Firebase时,我总是Unauthorized request.在发送access_token请求时得到响应.奇怪的是,它没有参数.
我甚至测试没有访问规则,但我得到了相同的结果.
当我发送时,curl 'https://<PROJECTID>.firebaseio.com/events.json'我得到期望值,但如果我发送curl 'https://<PROJECTID>.firebaseio.com/events.json?access_token=<TOKEN>'答案是
{ "error" : "Unauthorized request." }
我已尝试在标题中发送它,curl -H "Authorization: Bearer <TOKEN>" https://<PROJECTID>.firebaseio.com/events.json但也无法正常工作.
如果我在数据库中强制执行一些规则,那么没有令牌的初始请求会给我
{ "error" : "Permission denied" }但是{ "error" : "Unauthorized request." }如果我发送令牌,我仍然会得到.
任何帮助将非常感激.
UPDATE
管理修复它.我没有正确获得令牌.检查完这个线程后,我注意到在执行令牌请求时我没有发送数组.添加后它工作正常.https://www.googleapis.com/auth/userinfo.emailscopes
更新2
正如Xin Meng所提到的,Firebase Authenticate REST Requests文档中也很清楚.
我制作了一个移动应用程序并使用Firebase进行后端和身份验证.当我使用firebase的内置电子邮件验证时,电子邮件总是会转到垃圾邮件文件夹/垃圾邮件.
有谁知道如何解决这一问题?
我正在创建我的第一个Progressive Web应用程序,该应用程序使用firebase存储数据.我也Gmail用作所有使用该应用程序的用户的入口点.但是我坚持实施登录.以下是我登录的代码:
HTML:
<button md-raised-button color="warn" (click)="logInGoogle()"><md-icon>group</md-icon>Sign in with google to enjoy the app</button>
Run Code Online (Sandbox Code Playgroud)
TS:
logInGoogle(){
this.authService.loginWithGoogle().then( user => {
console.log("User is logged in");
//this.router.navigate(['/addweather']);
})
.catch( err => {
console.log('some error occured');
})
}
Run Code Online (Sandbox Code Playgroud)
这是服务:
loginWithGoogle() {
return this.afAuth.auth.signInWithPopup(new firebase.auth.GoogleAuthProvider());
}
Run Code Online (Sandbox Code Playgroud)
还要auth在我的app.component.ts构造函数中检查状态:
this.authService.afAuth.authState.subscribe(
(auth) => {
if(auth === null){
console.log("Not Logged in.");
this.router.navigate(['login']);
this.isLoggedIn = false;
}
else {
console.log("Successfully Logged in.");
this.isLoggedIn = true;
this.router.navigate(['']);
}
}
)
Run Code Online (Sandbox Code Playgroud)
现在,应用程序显示了一些行为:
此登录功能在浏览器上工作正常,如果我单击登录按钮,它会打开一个新窗口,授权我并返回打开该应用程序的同一选项卡.
当我将应用程序添加到主屏幕并尝试再次登录时,它会提示我以下选项:
一旦我点击chrome,它就会授权我并将我重定向到应用程序,但是应用程序现在显示一个空白屏幕,oAuth屏幕进入无限处理状态. …
firebase firebase-authentication progressive-web-apps angular
在 node-js 中运行以下行后:
import * as admin from "firebase-admin";
import * as serviceAccount from "../../firebase_service_account_key.json";
const app = admin.initializeApp({
credential: admin.credential.cert(serviceAccount as any),
databaseURL: "https://my-app-path.firebaseio.com"
});
admin.messaging().send({
token: "known-good-token",
notification: {
title: "Test Push Note",
body: "Here is some text"
}
});
Run Code Online (Sandbox Code Playgroud)
我收到错误:
Error: Auth error from APNS or Web Push Service
Raw server response:
"{
"error":{
"code":401,
"message":"Auth error from APNS or Web Push Service",
"status":"UNAUTHENTICATED",
"details"[
{
"@type":"type.googleapis.com/google.firebase.fcm.v1.FcmError",
"errorCode":"THIRD_PARTY_AUTH_ERROR"
},
{
"@type":"type.googleapis.com/google.firebase.fcm.v1.ApnsError",
"statusCode":403,
"reason":"InvalidProviderToken"
}
]
}
}" …Run Code Online (Sandbox Code Playgroud) firebase ×8
android ×2
angular ×1
curl ×1
deprecated ×1
facebook ×1
firebaseui ×1
flutter ×1
google-plus ×1
oauth ×1
react-native ×1