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.");
}
});