Android中Firebase Authentication集成Twitter登录报错求助
Firebase Auth集成Twitter登录报错排查求助
我正尝试在Android应用中通过Firebase Authentication集成Twitter登录功能,已严格遵循官方文档步骤操作,但出现如下错误:
com.google.firebase.auth.FirebaseAuthWebException: There was an internal error in the web widget. [ {"code":"auth/invalid-credential","message":"Error getting request token: 401 {"errors":[{"code":32,"message":"Could not authenticate you."}]}. Return to: https://bimatri-1293.firebaseapp.com/__/auth/handler"} ]
相关代码如下:
public void initTwitter() { provider = OAuthProvider.newBuilder("twitter.com"); provider.addCustomParameter("lang", "en"); } public void connectTwitter() { Task<AuthResult> pendingResultTask = mAuth.getPendingAuthResult(); if (pendingResultTask != null) { // There's something already here! Finish the sign-in for your user. pendingResultTask .addOnSuccessListener( new OnSuccessListener<AuthResult>() { @Override public void onSuccess(AuthResult authResult) { fetchDataFromFirebase(); } }) .addOnFailureListener( new OnFailureListener() { @Override public void onFailure(@NonNull Exception e) { TraceUtils.logEr("The profile--- ",e.getMessage()); } }); } else { mAuth .startActivityForSignInWithProvider(mActivity, provider.build()) .addOnSuccessListener( new OnSuccessListener<AuthResult>() { @Override public void onSuccess(AuthResult authResult) { fetchDataFromFirebase(); } }) .addOnFailureListener( new OnFailureListener() { @Override public void onFailure(@NonNull Exception e) { // Handle failure. TraceUtils.logEr("The profile startActivityForSignInWithProvider --- ",e.getMessage()); } }); } } public void disConnectTwitter() { // Twitter sign out mAuth.signOut(); }
排查建议
- 核对Twitter开发者平台的API密钥、API密钥密码,确保和Firebase控制台Twitter登录提供商里配置的完全一致,无空格或拼写错误。
- 确认Twitter应用的回调URL已添加
https://bimatri-1293.firebaseapp.com/__/auth/handler,且该URL在Twitter应用的"OAuth 1.0a 设置"中正确配置。 - 检查Twitter应用状态:如果处于开发模式,只有添加的测试用户能登录;若要开放给所有用户,需将应用设为"已发布"。
- 验证Firebase项目的SHA-1指纹是否正确配置,Twitter登录依赖该指纹做应用合法性校验。
- 尝试清除应用缓存或重新安装应用,排除旧认证缓存干扰。
内容的提问来源于stack exchange,提问作者imimobile pvt
相关产品推荐
相关产品推荐

