我一直在尝试新的iOS FirebaseUI身份验证(https://github.com/firebase/FirebaseUI-iOS/tree/master/FirebaseUI),并设置了一个非常简单的Swift应用程序,用于登录Google,Email/pw和Facebook。
Google和Email/PW登录工作正常 - 在数据库中创建一个新用户,但我在新Facebook用户时遇到问题。我经历了对应用程序进行身份验证的过程(然后它在我的 Facebook 帐户上显示为允许的应用程序),但从未在身份验证用户数据库中创建新用户。
我已经在Info.plist中添加了FacebookAppID,确保oAuth重定向URI已添加到Facebook应用程序登录设置中 - 不太确定我哪里出错了。
下面是带有"登录"按钮的单视图控制器的代码:
import UIKit
import Firebase
import FirebaseAuthUI
import FirebaseGoogleAuthUI
import FirebaseFacebookAuthUI
class SignInViewController: UIViewController {
@IBOutlet weak var signinButton: UIButton!
var user: FIRUser?
override func viewDidLoad() {
super.viewDidLoad()
}
@IBAction func signIn() {
let authUI = FIRAuthUI.authUI()!
let googleAuthUI = FIRGoogleAuthUI.init(clientID:FIRApp.defaultApp()!.options.clientID)
let facebookAuthUI = FIRFacebookAuthUI.init(appID: NSBundle.mainBundle().infoDictionary?["FacebookAppID"] as! String)
authUI.signInProviders = [googleAuthUI!, facebookAuthUI!]
let authViewController = FIRAuthUI.authUI()!.authViewController()
self.presentViewController(authViewController, animated: true, completion: nil)
}
func signOut() {
try! FIRAuth.auth()!.signOut()
}
发现此错误!在某个时候,我在Facebook应用程序的高级设置中打开了"应用程序秘密是否嵌入在客户端中?"设置。关闭它解决了这个问题。高级设置切换