gpt4 book ai didi

ios - Firebase 不会在 Swift/iOS 中显示 microsoft.com 的登录页面

转载 作者:可可西里 更新时间:2023-11-01 01:07:24 28 4
gpt4 key购买 nike

我正在通过使用 OAuthProvider 类使用个人 Microsoft 帐户登录来实现 Firebase 身份验证。

我已按照以下说明操作:https://firebase.google.com/docs/auth/ios/microsoft-oauth?authuser=0

但是,当我使用 Firebase SDK 的 OAuthProvider 时,它没有显示 Microsoft 的登录页面,实际上 getCredentialWith 没有调用任何东西。

当我使用 GoogleAuthProvider 时,一切正常,Firebase SDK 显示了 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
}
})
}
})

最佳答案

像下面这样在全局范围内声明

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 {

}

}

}

关于ios - Firebase 不会在 Swift/iOS 中显示 microsoft.com 的登录页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55399758/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com