Firebase аутентификация с Yahoo на Android - PullRequest
0 голосов
/ 29 сентября 2019

Используя firebase аутентификацию с Yahoo и следуя инструкциям здесь .Поэтому я создал приложение в Yahoo Developer с разрешениями на чтение контактов и профиля (не уверен, какой API получить электронную почту и имя, поэтому я запросил оба) и скопировал идентификатор клиента и секрет в методе входа в систему аутентификации Firebase для Yahoo.Скопировал обратный вызов обратно в Yahoo Developer.

Я следовал кодам из Firebase Authentication для Yahoo, но при попытке его запустить я получаю следующую ошибку:

enter image description here

Вот мой код:

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

Мне удалось повторить ошибку с помощью Почтальона.

enter image description here

Кажется, что когда я ввел неправильный 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 обратного вызова?

...