Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

268
Visualizações
Firebase no muestra la página de registro de microsoft.com en Swift/iOS

Estoy implementando la autenticación de Firebase usando la clase OAuthProvider para iniciar sesión con una cuenta personal de Microsoft.

He seguido estas instrucciones: https://firebase.google.com/docs/auth/ios/microsoft-oauth?authuser=0

Sin embargo, cuando uso OAuthProvider de Firebase SDK, no aparece la página de inicio de sesión de Microsoft; en realidad, getCredentialWith no invoca nada.

Cuando uso GoogleAuthProvider, todo funciona bien y Firebase SDK muestra la página de inicio de sesión de Google.

 let provider = OAuthProvider(providerID: "microsoft.com") provider.scopes = ["files.readwrite.appfolder", "user.read"] provider.getCredentialWith(nil, completion: { credential, error in if let error = error { os_log("Firebase Error: %@", type: .fault, error as CVarArg) return } if (credential != nil) { Auth.auth().signInAndRetrieveData(with: credential!, completion: { authResult, error in if let error = error { os_log("Firebase Error: %@", type: .fault, error as CVarArg) return } }) } })
over 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

Declarar en alcance global como a continuación

 var provider: OAuthProvider? var authMicrosoft: Auth? @IBAction func buttonTapped(_ sender: Any) { provider = OAuthProvider(providerID: "microsoft.com") provider?.customParameters = [ "prompt": "consent", "login_hint": "", ] provider?.scopes = ["mail.read", "calendars.read"] provider?.getCredentialWith(nil ) { credential, error in if error != nil { // Handle error. } print(credential?.provider) if let x = credential { self. authMicrosoft?.signIn(with: x) { authResult, error in if error != nil { // Handle error. } print(authResult?.additionalUserInfo?.profile) print(authResult?.user.providerID) } } else { } } }
over 4 years ago · Santiago Trujillo Relatório

0

Parece que define un proveedor localmente. Si bien la llamada getCredentialWith(_:completion) se ejecuta de forma asíncrona, es posible que su función local ya haya terminado de ejecutarse y que ARC ya haya desasignado el proveedor.

Para resolver su problema, es posible que deba retener específicamente el puntero del proveedor en algún lugar, por ejemplo, en su controlador de vista como una propiedad o ivar, y de esa manera el proveedor se puede crear/reciclar cuando su controlador de vista se inicializa/desasigna.

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda