2014-08-29 20 views
6

Bu işlevi Cloud Code Parse.User.current() numaralı telefonunda kullandığımda null'u döndürün.
Giriş için parseExpressCookieSession kullanıyorum.
Herhangi bir öneri?Cloud Code Parse.User.current() dönüş null

var express = require('express'); 
var expressLayouts = require('cloud/express-layouts'); 
var parseExpressHttpsRedirect = require('parse-express-https-redirect'); 
var parseExpressCookieSession = require('parse-express-cookie-session'); 

// Required for initializing enter code hereExpress app in Cloud Code. 
var app = express(); 

// Global app configuration section 
app.set('views', 'cloud/views'); 
app.set('view engine', 'ejs'); // Switch to Jade by replacing ejs with jade here. 
app.use(expressLayouts);   // Use the layout engine for express 
app.set('layout', 'layout'); 
app.use(parseExpressHttpsRedirect()); // Require user to be on HTTPS. 
app.use(express.bodyParser()); 
app.use(express.methodOverride()); 
app.use(express.cookieParser('helloworld')); 
app.use(parseExpressCookieSession({ 
    fetchUser: true, 
    cookie: { maxAge: 3600000 * 24 } 
}));  

Parse.Cloud.beforeSave('Menu', function(request, response) { 
    var Business = Parse.Object.extend('Business'); 
    var query = new Parse.Query(Business); 

    query.equalTo('profile', Parse.User.current().get('profile')); 
    query.find({ 
     success: function(business) { 
      console.log(business); 
      response.success(); 
     }, 
     error: function(error) { 
      response.error(error.message); 
     } 
    }); 
    }); 

    app.listen(); 

Bu şimdiye giriş yapmak için kullandığınız kodu/Eski bir soru ama ileride başvurmak üzere yanıtlayan olan

app.post('/login', function(req, res) { 
    Parse.User.logIn(req.body.username, req.body.password).then(function(user) { 
    // Login succeeded, redirect to homepage. 
    // parseExpressCookieSession will automatically set cookie. 
    res.redirect('/'); 
    }, 
    function(error) { 
    // Login failed, redirect back to login form. 
    res.redirect('/'); 
    }); 
}); 

// Logs out the user 
app.post('/logout', function(req, res) { 
    Parse.User.logOut(); 
    res.redirect('/'); 
}); 

cevap

8

çıkış.

Parse.User.current(), istemcilerde kullanıldığında Javascript SDK'sında çalışır. Kullanıcıların giriş yaptığı Web Uygulaması ve mevcut kullanıcıyı o işleve getirebilirsiniz.

bir Bulut Kod işlevini çağırarak veya bir nesne üzerinde bir işlem yaparken kullanıcıyı almak ( BeforeSave, afterSave, üzerinde beforeDelete ve böylece) içerdiği request.user özelliğini kullanın isteği Parse.com'a veren kullanıcı. Burada Parse.Cloud.FunctionRequest hakkında

Diğer ayrıntılar: https://parse.com/docs/js/api/classes/Parse.Cloud.FunctionRequest.html

örnek kod:

Parse.Cloud.beforeSave('Menu', function(request, response) { 
    var requestUser = request.user; 
    // instance of Parse.User object of the user calling .save() on an object of class "Menu" 

    // code cut for brevity 
}); 
+0

bağlantı artık çalışmıyor ve ben bulabilmesi yerde parseExpressCookieSession üzerinde hiçbir belge yoktur. –

+0

Bağlantı, Parse URL'lerini belgeleri için değiştirdiğinden bağlantı güncellendi. Belirli parseExpressCookieSession gelince orijinal soru posteri ile temas kurmak zorunda kalacaksınız, sadece CloudCode ve Parse JS SDK'da kullanılan Parse Kullanıcıları arasındaki farkı yanıtlıyordum. – zagu

+0

Teşekkürler zagu - randy –

İlgili konular