簡體   English   中英

如何保存未使用Parse登錄的用戶?

[英]How to save user that is not logged in with Parse?

我正在開發一個需要能夠搜索合作伙伴的應用程序。 顯然,為用戶保存不是問題,但是我不確定為其他用戶修改數據的最佳方法是什么。 也許向其他用戶發送一條消息,該消息在登錄時自動被讀取並添加了關系狀態?

這就是我所擁有的-它從所有也在搜索游戲的玩家中找到一個隨機玩家,並將其添加到“合作伙伴”關系中。 現在,其他用戶也將如何處理呢?:

- (IBAction)searchForPlayer:(id)sender {


     [self.currentUser setObject:@0 forKey:@"searching"];

    PFQuery *findPotential = [PFQuery queryWithClassName:@"_User"];
    [findPotential whereKey:@"searching" equalTo:@1];
    [findPotential findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {

        int partnerNum = arc4random_uniform(objects.count);
        PFUser *newPartner = [objects objectAtIndex:partnerNum];

        if(error){
            NSLog(@"Error!");
        }

        else {

            if (objects.count == 0|| [newPartner.objectId isEqualToString:self.currentUser.objectId]) {
                NSLog(@"None found");
                [self.currentUser setObject:@1 forKey:@"searching"];
            }

            else {

                PFRelation *partners = [self.currentUser relationForKey:@"partners"];
                [partners addObject:newPartner];
                NSLog(@"Partner is: %@", newPartner.username);
                [self.currentUser setObject:@0 forKey:@"searching"];
            }
        }
    }];

[self.currentUser saveInBackgroundWithBlock:^(BOOL succeeded, NSError *error) {
    if(error){
        NSLog(@"Error!");
    }
  }];
}

您永遠都不想做這樣的客戶端。 為了安全起見,一個用戶不能更改另一個用戶。 使用雲代碼。 調用一個函數,並在該函數中驗證您確實要執行此操作,然后使用主鍵查詢和更改其他對象。

您基本上可以將Objective-C查詢/示例轉換為JavaScript,將其放在接受一些參數的Cloud Function中,然后將其放在頂部:

Parse.Cloud.useMasterKey();

或者,您可以分別為特定方法提供主密鑰,例如:

object.save(null, { useMasterKey: true }).then(function(object) { ...

在此處閱讀Cloud Code文檔: https//parse.com/docs/cloud_code_guide

暫無
暫無

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

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