Cloud Code Parse.User.current () return null

When I use this function in Cloud Code Parse.User.current() return null .
I am using parseExpressCookieSession to login.
Any advice?

 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(); 

This code that I use to log in / out

 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('/'); }); 
+6
source share
1 answer

This is an old question, but it is responsible for future links.

Parse.User.current () works in the Javascript SDK when used on ex clients. WebApp, where users log in, and you can select the current user with this feature.

To make the user call the Cloud Code function or perform an operation on an object ( beforeSave , afterSave , beforeDelete , etc.), you use the request.user property, which contains the request from the user Parse.com.

Learn more about Parse.Cloud.FunctionRequest here: https://parse.com/docs/js/api/classes/Parse.Cloud.FunctionRequest.html

Code example:

 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 }); 
+8
source

Source: https://habr.com/ru/post/974549/


All Articles