Что я делаю не так с Microsoft OAuth при использовании Firebase в Swift? - PullRequest
0 голосов
/ 06 августа 2020

Когда я пытаюсь выполнить следующий код для получения учетных данных для пользователя Microsoft и войти в Firebase, ответа нет:


import Foundation
import FirebaseDatabase
import FirebaseAuth

class MicrosoftAuthenticator {
    var delegate: AppleAuthenticatorDelegate?
    func startMicrosoftAuthentication() {
        print("Started")
        let provider = OAuthProvider(providerID: "microsoft.com")
        print("Provider Created")
        provider.getCredentialWith(nil) { credential, error in
            print("Cred retrieved")
            if error != nil {
                print(error!)
                return
            }
            if credential != nil {
                Auth.auth().signIn(with: credential!) { authResult, error in
                    if error != nil {
                        print(error!)
                        return
                    }
                    print("User Authorized")
                }
            }
        }
        print("Finished")
    }
}

Я вызываю метод, используя следующее:

let authenticateMicrosoft = MicrosoftAuthenticator()
authenticateMicrosoft.startMicrosoftAuthentication()

Я следовал документам Firebase для использования Microsoft в качестве поставщика, и я выполнил всю настройку (регистрацию с Azure, включение Microsoft в Firebase и добавление типов URL-адресов), но когда я пытаюсь получить учетные данные, это не работает. Поскольку я использую SwiftUI, я добавил в свой SceneDelegate следующий код:

func scene(_ scene: UIScene, openURLContexts URLContexts: Set<UIOpenURLContext>) {
        for urlContext in URLContexts {
            let url = urlContext.url
            Auth.auth().canHandle(url)
        }
    }

Я не понимаю, что я сделал не так. Может быть, я пропустил какой-то код? Заранее спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...