Parse platform 扩展会话令牌到期时间

Parse platform 扩展会话令牌到期时间,parse-platform,Parse Platform,我想创建一个云代码函数,帮助我更改Parse Server中会话令牌的ExpiresAt字段值的日期。有没有办法做到这一点?或者我可以参考的任何API 谢谢。最后我回答我自己的问题。有时,我发现我可以创建一个如下的CloudCode函数来扩展会话令牌,希望这对其他人有所帮助 Parse.Cloud.define("extendSessionToken", function(request, response) { req({ method: 'GET',

我想创建一个云代码函数,帮助我更改Parse Server中会话令牌的ExpiresAt字段值的日期。有没有办法做到这一点?或者我可以参考的任何API


谢谢。

最后我回答我自己的问题。有时,我发现我可以创建一个如下的CloudCode函数来扩展会话令牌,希望这对其他人有所帮助

Parse.Cloud.define("extendSessionToken", function(request, response)
{
    req({
        method: 'GET',
        url: process.env.SERVER_URL + "/sessions/me",
        headers:
        {
            'X-Parse-Application-Id': process.env.APP_ID,
            'X-Parse-REST-API-Key': process.env.REST_API_KEY,
            'X-Parse-Session-Token': request.headers["x-parse-session-token"],
            'X-Parse-Master-Key' : process.env.MASTER_KEY
        }        
    }, function (error, httpResponse, body) 
    {
        var jsonBody = JSON.parse(body);
        DLog.info(JSON.stringify(jsonBody));
        if(error)
        {            
            handleResponseReturn(response, 1, error);
        }
        else if(jsonBody.error)
        {            
            handleResponseReturn(response, 1, jsonBody.error);
        }
        else
        {            
            var newSessionYear = new Date();
            newSessionYear.setFullYear(newSessionYear.getFullYear() + 1);
            var newSessionBody = {
                'expiresAt': Parse._encode(newSessionYear)
            }

            DLog.info("New ExpiresAt: " + JSON.stringify(newSessionBody));
            req({
                    method: 'PUT',
                    url: process.env.SERVER_URL + "/sessions/" + jsonBody.objectId,
                    headers:
                    {
                        'X-Parse-Application-Id': process.env.APP_ID,
                        'X-Parse-REST-API-Key': process.env.REST_API_KEY,
                        'Content-Type': 'application/json;charset=utf-8',
                        'X-Parse-Session-Token': request.headers["x-parse-session-token"],
                        'X-Parse-Master-Key' : process.env.MASTER_KEY
                    },
                    body:  JSON.stringify(newSessionBody) 
                }, function (error, httpResponse, body) 
                {
                    var jsonResult = JSON.parse(body);
                    if(error)
                        handleResponseReturn(response, 1, error);
                    else if(jsonBody.error)
                        handleResponseReturn(response, 1, jsonBody.error);
                    else
                        handleResponseReturn(response, 0, body);
                });
        }
    });
});

希望这能帮助那些面临同样问题的人。您可以随意选择并修改它。

最后我回答了我自己的问题。有时,我发现我可以创建一个如下的CloudCode函数来扩展会话令牌,希望这对其他人有所帮助

Parse.Cloud.define("extendSessionToken", function(request, response)
{
    req({
        method: 'GET',
        url: process.env.SERVER_URL + "/sessions/me",
        headers:
        {
            'X-Parse-Application-Id': process.env.APP_ID,
            'X-Parse-REST-API-Key': process.env.REST_API_KEY,
            'X-Parse-Session-Token': request.headers["x-parse-session-token"],
            'X-Parse-Master-Key' : process.env.MASTER_KEY
        }        
    }, function (error, httpResponse, body) 
    {
        var jsonBody = JSON.parse(body);
        DLog.info(JSON.stringify(jsonBody));
        if(error)
        {            
            handleResponseReturn(response, 1, error);
        }
        else if(jsonBody.error)
        {            
            handleResponseReturn(response, 1, jsonBody.error);
        }
        else
        {            
            var newSessionYear = new Date();
            newSessionYear.setFullYear(newSessionYear.getFullYear() + 1);
            var newSessionBody = {
                'expiresAt': Parse._encode(newSessionYear)
            }

            DLog.info("New ExpiresAt: " + JSON.stringify(newSessionBody));
            req({
                    method: 'PUT',
                    url: process.env.SERVER_URL + "/sessions/" + jsonBody.objectId,
                    headers:
                    {
                        'X-Parse-Application-Id': process.env.APP_ID,
                        'X-Parse-REST-API-Key': process.env.REST_API_KEY,
                        'Content-Type': 'application/json;charset=utf-8',
                        'X-Parse-Session-Token': request.headers["x-parse-session-token"],
                        'X-Parse-Master-Key' : process.env.MASTER_KEY
                    },
                    body:  JSON.stringify(newSessionBody) 
                }, function (error, httpResponse, body) 
                {
                    var jsonResult = JSON.parse(body);
                    if(error)
                        handleResponseReturn(response, 1, error);
                    else if(jsonBody.error)
                        handleResponseReturn(response, 1, jsonBody.error);
                    else
                        handleResponseReturn(response, 0, body);
                });
        }
    });
});
希望这能帮助那些面临同样问题的人。你可以随意拿着这个,随意修改