2016-03-12 9 views
0

Таким образом, PFUser войдет в систему традиционным способом, используя электронную почту и пароль. Когда они регистрируются, я устанавливаю имя пользователя равным адресу электронной почты. Когда пользователь заходит, они используют свой адрес электронной почты.Parse-server, PFFacebookUtils перезаписывает имя пользователя

Это работает прекрасно, пока я не добавил «подключиться к facebook» кнопку, где я называю следующее:

[PFFacebookUtils linkUserInBackground:[PFUser currentUser] withReadPermissions:@[@"public_profile", @"user_friends"] block:^(BOOL succeeded, NSError *error) { 
       if (succeeded) { 
        NSLog(@"Woohoo, user is linked with Facebook!"); 

        [self.tableView reloadData]; 
       } 
      }]; 

Проблема в том, когда это удается, мое имя пользователя изменилось к длинной череде случайных символов , Это означает, что, если я выйду из системы, я больше не могу войти в систему, потому что письмо больше не совпадает с именем пользователя.

Я использую parse-сервер на Heroku. Я не буду публиковать какой-либо облачный код, потому что это не начиналось, пока я не реализовал Facebook oauth.

+0

Сохраняете ли вы свой адрес электронной почты в поле имени пользователя синтаксического анализа или в поле поиска синтаксического анализа? –

+0

Оба, оба поля равны их адресу электронной почты. Я не хотел иметь дело с именем пользователя и адресом электронной почты. –

+0

Итак, у вас есть две копии адреса электронной почты, одна в имени пользователя, одна по электронной почте? Если это так, вам просто нужно изменить свой логин Parse для входа в систему с помощью электронной почты вместо входа с именем пользователя. Это точно то же самое, кроме указания имени входа в поле электронной почты вместо поля имени пользователя. –

ответ

0

Вы должны запросить пользователя, используя свой адрес электронной почты. После того, как вы вернете объект пользователя, получите имя пользователя, используя user.username. После того, как у вас есть свое имя пользователя, вы можете войти в систему с помощью loginWithUsernameInBackground. Похоже, это долгий путь вокруг легкой вещи, но так вы это делаете.

 Смежные вопросы

  • Нет связанных вопросов^_^