Код для parse cloud ищет пользователя с переданным vkId и возвращает токен 
Parse.Cloud.define("getTokenByVkId", function(request, response) {
                   
                   Parse.Cloud.useMasterKey();
                   var vkId = request.params.vkId;
                   if(!vkId) {
                   response.error("wrong parameters");
                   return ;
                   }
                   var query = new Parse.Query(Parse.User);
                   query.equalTo("vkId", vkId);
                   query.first({
                              success: function(user) {
                                  response.success(user.getSessionToken());
                              },
                              error: function(error) {
                                  response.error(error.description);
                              }
                              });
                   
                   });
Отправляем vkId авторизированного пользователя нашей функции в Parse Cloud и в ответ получаем токен по которому авторизируемся в самом Parse
iOS objective-c пример
//call parse cloud function
[PFCloud callFunctionInBackground:@"getTokenByVkId"
                                withParameters:@{@"vkId": vkUserId}
                                                 block:^(NSString* token, NSError *error) {
                    if (!error){
                       [PFUser becomeInBackground:token block:^(PFUser *user, NSError *error) {
                            <#code#>
                        }];
                    }else{
                        //TODO: handle error
                    }
Лично я при регистрации нового пользователя в Parse, сгенерированный пароль сохраняю в keychain и при повторном входе сначало проверяю его наличие и если его нет (скорее всего приложение запущено с другого устройства), то выполняю вход с помощью приведенного кода ParseCloud.