android - 无法使用 Firebase 向 Microsoft 进行身份验证
问题描述
我正在尝试在我的应用程序中使用 Firebase 实现与 Microsoft 的身份验证。我按照教程https://firebase.google.com/docs/auth/android/microsoft-oauth中提到的步骤进行操作。
以下是我的应用程序中的代码片段 -
MSAuthManager.java
public void loginOutlook(Context context) {
FirebaseAuth firebaseAuth = FirebaseAuth.getInstance();
Task<AuthResult> pendingResultTask = firebaseAuth.getPendingAuthResult();
if (pendingResultTask == null) {
OAuthProvider.Builder provider = OAuthProvider.newBuilder("microsoft.com");
provider.setScopes(asList(SCOPES));
firebaseAuth.startActivityForSignInWithProvider((Activity) context, provider.build())
.addOnSuccessListener(this)
.addOnFailureListener(this)
.addOnCanceledListener(this);
}
}
AndroidManifest.xml
<activity android:name="com.microsoft.identity.client.BrowserTabActivity">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="https://**********.firebaseapp.com/__/auth/handler"
android:host="auth" />
</intent-filter>
</activity>
注意 - 我已经在登录屏幕上使用 Firebase 通过 Google 登录对用户进行了身份验证。
但是,当我开始身份验证过程时,自定义选项卡启动会将我带到 Microsoft 登录页面,然后自动关闭并将我重定向回我的应用程序,并出现以下错误 -
FirebaseAuthWebException: The web operation was canceled by the user.
谁能告诉我我在这里错过了什么?
解决方案
我有同样的问题,对我来说是因为输入的密码错误所以 -> 网络操作被用户取消了。
您必须管理已保存的密码或清除 chrome 或三星互联网浏览器的缓存和数据。
推荐阅读
- javascript - jQuery 找不到带有 ID 的 div
- c# - 如何在 c sharp 中检索特定格式的声明?
- webpack - 是否可以配置 webpack,以便在满足特定条件时对包的评估将提前终止?
- html - Bootstrap 3中的相等列高
- javascript - vue composition api中的反应数据未在模板中呈现
- ios - 我如何知道一种 UIColor 和另一种 UIColor 之间的百分比差异?
- angular - 如何在 Typescript 中生成两个随机数并检查两者是否相同?
- angular - AppModule 的 NgModule.imports 中位置 1 的值不是一个类
- python - Python解密文件的问题 - 类型错误
- python - 在 django 过滤器 filterset_fields 中设置值