如何在Android上使用Microsoft通过Firebase进行身份验证

时间:2020-09-26 22:26:05

标签: android firebase firebase-authentication

Authenticate Using Microsoft on Android

最初,我能够进入auth页面(请参阅:login),但是随后在没有更改代码的情况下,它似乎突然跳过了OnSuccessListener函数,或者失败了,该函数导致身份验证页面最终失败,并将我带回到MainActivity.java see: result的主页。

为清楚起见,我希望正在使用的应用程序能够提示Microsoft登录,然后在成功/失败后在该处执行某些操作。 Firebase Google登录非常适合我。我感觉问题可能出在我将应用程序从Firebase重定向到Azure AD的方式上。如果单击第一个选项(我想要的),它仍然会失败,并且如果我完全删除URI,则会收到一条错误消息,提示我正在尝试使用错误的应用see: URI进行身份验证。

错误:com.google.firebase.auth.firebaseAuthInvalidCredentialsException: The supplied auth credential is malformed or has expired. [Error getting access token from microsoft.com...] My app id, secret and redirect URI都与我的Azure AD中的内容匹配。 ERROR

        firebaseAuth
        .startActivityForSignInWithProvider(/* activity= */ this, provider.build())
        .addOnSuccessListener(
            new OnSuccessListener<AuthResult>() {
            @Override
            public void onSuccess(AuthResult authResult) {
                // User is signed in.
                // IdP data available in
                // authResult.getAdditionalUserInfo().getProfile().
                // The OAuth access token can also be retrieved:
                // authResult.getCredential().getAccessToken().
                // The OAuth ID token can also be retrieved:
                // authResult.getCredential().getIdToken().
               // openActivity2();
                statusTextView.setText("Successfully authenticated with Microsoft.");
                microsoftSignOutButton.setVisibility(microsoftSignOutButton.VISIBLE);
            }
        })
        .addOnFailureListener(
            new OnFailureListener() {
            @Override
            public void onFailure(@NonNull Exception e) {
                // Handle failure.
                statusTextView.setText("Failed to load on Microsoft sign in.");
            }
        });

0 个答案:

没有答案