首页 > 解决方案 > 无法使用 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.


谁能告诉我我在这里错过了什么?

标签: androidfirebase-authenticationazure-active-directory

解决方案


我有同样的问题,对我来说是因为输入的密码错误所以 -> 网络操作被用户取消了。

您必须管理已保存的密码或清除 chrome 或三星互联网浏览器的缓存和数据。


推荐阅读