iOS: вход в учетную запись Firebase и Facebook
Я хотел спросить, может ли кто-нибудь направить меня к примеру или объяснению того, как я могу добавить телефонный логин для firebase, используя Facebook Account Kit.
Я получаю accessToken из комплекта учетной записи Facebook, а затем пытаюсь авторизоваться следующим образом.
fileprivate func authorizeWithAccessToken(_ accessToken: AKFAccessToken?, phoneNumber: AKFPhoneNumber?, error: NSError?) {
guard let accessToken = accessToken else {
return
}
FIRAuth.auth()?.signIn(withCustomToken: accessToken.tokenString) { (user, error) in
if (error != nil) {
print(error?.localizedDescription)
} else {
print("User logged in")
}
}
}
Но я получаю ошибку:
"Неверный формат токена. Пожалуйста, проверьте документацию". UserInfo={NSLocalizedDescription= Неверный формат пользовательского токена. Пожалуйста, проверьте документацию., Error_name=ERROR_INVALID_CUSTOM_TOKEN})
Вот мой токен:
EMAWeGCejpgSijO0ncgBYl7HxLTZBy0rWrwaHihA81ZB286EEPhdZCtDSWZAnajp8pmX10E1ZCJDV7Ghwz0NrxRMhZCgSPzZC9imjbamk8bvv2AZDZD
1 ответ
Почему вы используете customTokens для аутентификации Facebook вместо использования встроенных методов учетных данных, которые Firebase имеет для Facebook?
Вместо токена создайте объект учетных данных с библиотекой Facebook:
let credential = FIRFacebookAuthProvider.credential(withAccessToken: FBSDKAccessToken.current().tokenString)
и передать этот объект signIn(with: )
метод.
FIRAuth.auth()?.signIn(with: credential) { (user, error) in
if let err = error {
print(err?.localizedDescription)
return
}
// Do your stuff here....
}
Полную документацию по использованию Firebase и Facebook можно найти здесь