Используя firebase аутентификацию с Yahoo и следуя инструкциям здесь .Поэтому я создал приложение в Yahoo Developer с разрешениями на чтение контактов и профиля (не уверен, какой API получить электронную почту и имя, поэтому я запросил оба) и скопировал идентификатор клиента и секрет в методе входа в систему аутентификации Firebase для Yahoo.Скопировал обратный вызов обратно в Yahoo Developer.
Я следовал кодам из Firebase Authentication для Yahoo, но при попытке его запустить я получаю следующую ошибку:
Вот мой код:
public void onClick(View view) {
signInWithOtherProvider(
OAuthProvider.newBuilder("yahoo.com")
.addCustomParameter("prompt", "login")
.setScopes(new ArrayList<String>() {
{
// Request access to Yahoo Mail API.
add("mail-r");
// This must be preconfigured in the app's API permissions.
add("sdct-w");
// Profile
add("sdps-r");
}
})
.build()
);
}
private void signInWithOtherProvider(OAuthProvider provider) {
Task<AuthResult> pendingTaskResult = auth.getPendingAuthResult();
if (pendingTaskResult != null) {
pendingTaskResult
.addOnSuccessListener(new OnSuccessListener<AuthResult>() {
@Override
public void onSuccess(AuthResult authResult) {
signInSuccess(authResult);
}
})
.addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
signInFailed(e);
}
});
} else {
auth
.startActivityForSignInWithProvider(getActivity(), provider)
.addOnSuccessListener(new OnSuccessListener<AuthResult>() {
@Override
public void onSuccess(AuthResult authResult) {
signInSuccess(authResult);
}
})
.addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
signInFailed(e);
}
});
}
}
Кто-нибудь успешно использовал Yahoo с Firebase на Android?
Оцените любую помощь.
ОБНОВЛЕНИЕ 2019/09/30
Мне удалось повторить ошибку с помощью Почтальона.
Кажется, что когда я ввел неправильный URL обратного вызова на странице Yahoo для разработчиков, я получил ту же ошибку.Но когда я ввел его правильно (https://www.getpostman.com/oauth2/callback), оно прошло. Поэтому я думаю, что это проблема с URL обратного вызова в Firebase.
Теперь рассмотрим консоль Firebase специально вМетод входа для Yahoo, URL обратного вызова (project-id.firebaseapp.com). Yahoo не принимает это, так как, кажется, ему нужен действительный URL, поэтому я добавил https: //. Поэтому я использовал URL перенаправления https://project -id.firebasapp.com . Однако это по-прежнему не работает. Затем я попробовал формат, аналогичный обратному вызову других провайдеров: https://project -id.firebaseapp.com / __ /auth / handler , но все равно не работает.
Могу ли я что-нибудь сделать в консоли Firebase для проверки URL обратного вызова?