簡體   English   中英

Parse.com-使用Fb身份驗證時更新PFUser的電子郵件

[英]Parse.com - Update email for PFUser while using Fb authentication

登錄或通過Facebook注冊時,我正確接收PFUser。 我的權限數組:

NSArray *permissionsArray = @[ @"user_about_me",@"email"];

在“解析數據”瀏覽器中,我可以看到使用長字符串用戶名和正確的authData等創建的用戶。但是電子郵件字段仍然為空。

我是否需要單獨撥打電話以填寫新創建的PFUser的電子郵件字段? 如果是,那么正確的步驟是什么。

另一個問題,在Parse.com中,Facebook身份驗證用戶的忘記密碼機制如何工作? 我是否需要先通過調用圖形API來填寫電子郵件值,然后使用該電子郵件地址來忘記密碼功能?

您需要單獨致電以填充電子郵件屬性。 用戶通過身份驗證后,可以調用FBRequestConnection類的startForMeWithCompletionHandler:方法來獲取用戶信息,然后將其保存到當前用戶。 您的通話應如下所示:

NSArray *permissionsArray = @[ @"user_about_me",@"email"];
[PFFacebookUtils logInWithPermissions:permissionsArray block:^(PFUser *user, NSError *error) {
    if (!error && user) {
        [FBRequestConnection startForMeWithCompletionHandler:^(FBRequestConnection *connection, id result, NSError *error) {
            if (!error) {
                [[PFUser currentUser] setObject:[result objectForKey:@"email"]
                                         forKey:@"email"];
                [[PFUser currentUser] saveInBackground];
            }
        }];
    }
}];

關於Facebook用戶的忘記密碼,這沒有意義,因為如果用戶忘記了密碼,則應該在Facebook上更改密碼。 但是,如果您調用requestPasswordResetForEmail:方法,由於電子郵件存在,它將向用戶發送更改密碼的說明。 考慮到logInWithUsername:password:使用屬性用戶名而不是電子郵件登錄用戶,而該值對於您的應用程序中的Facebook用戶來說可能是未知的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM