2016-03-12 13 views
0

因此,PFUser將使用電子郵件和密碼以傳統方式登錄。當他們註冊時,我將userName設置爲等於電子郵件地址。當用戶登錄時,他們使用他們的電子郵件。解析服務器,PFFVideosUtils覆蓋用戶名

這是偉大的工作,直到我添加了一個「連接到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]; 
       } 
      }]; 

問題是,當這種成功,我的用戶名已更改爲隨機字符的長字符串。這意味着如果我註銷,我不能再登錄,因爲電子郵件不再符合用戶名。

我在Heroku上使用parse-server。我不會發布任何雲代碼,因爲直到我實施Facebook oauth時纔開始發生。

+0

你是否將他們的電子郵件保存在解析用戶名字段或解析郵件字段中? –

+0

兩者都設置爲等於他們的電子郵件地址。我不想處理擁有用戶名和電子郵件地址。 –

+0

因此,您有兩份電子郵件地址,一份是用戶名,一份是電子郵件地址?如果是這種情況,您只需要將您的Parse登錄名更改爲使用電子郵件登錄,而不是使用用戶名登錄。除了將登錄名指向電子郵件字段而不是用戶名字段之外,它完全一樣。 –

回答

0

您必須使用他們的電子郵件查詢用戶。一旦你已經返回用戶對象通過使用user.username獲取用戶名。一旦你有他們的用戶名,你可以登錄他們loginWithUsernameInBackground。這似乎是一件容易的事情,但這就是你如何做到的。