node.js - Error Refreshing Session "JSON text did not start with array or object and option to allow fragments not set." -


trying refresh access tokens after 60 min limit. running local node server. give context, have returned following data spotify authentication endpoint. storing session in nsuserdefaults, not sure if have store refresh token in location..

swap: tokendata  { access_token: 'bqazwk7kjbmtklzuvtpstw0xwmrww6zs2j6txoobmrh4p-cxw6shqqnzwebd9be38xz6zunlfdg-evetthwgorwa9gaqaooaqp5k4gfkevcbhlcdgvc_izjo1jh91fmb2o-l-yhejqc9dzuif7wwwcgfaxk2sj2qfnkp4mp13pxc9ilsnhnu-b9nfzawydohdf4', token_type: 'bearer', expires_in: 3600, refresh_token: 'aqdmpirx9wgwshk9aivybzlg1qjyv0avmgzeduwfvz0hggo5dhemksptevrciitzt_l4giflhpnfzlrxlmznksseru7ng8_3ssjphdsibdskjbdkjbdkudroc4zbegpwncjlmzgl4a' }     

when session expired in xcode, trigger function in xcode

if !session.isvalid() {  sptauth.defaultinstance().renewsession(session, withserviceendpointaturl: nsurl(string: tokenrefreshserviceurl), callback: { (error:nserror!, renewedsession:sptsession!) 

which points this..

app.post("/refresh", function(req,res){    console.log(req.body);    if(!req.body || !req.body.hasownproperty("refresh_token")) {     res.status(550).send("permission denied");      //the body not contain refresh token      return;   }    var encryptedtoken = new buffer(req.body.refresh_token, 'base64');//switched underscore   var refresh_token = req.body.refresh_token;   console.log("refresh: refresh_token: %s", refresh_token);   var formdata = {      "grant_type": "refresh_token",      "refresh_token": refresh_token    };   console.log("refresh: posting request %s:", url.resolve(config.endpoint, "/api/token"), formdata);    request.post({     url: url.resolve(config.endpoint, '/api/token'),      headers: {       "authorization": auth_header,       "content-type": "application/x-www-form-urlencoded"     },     form: formdata    }, function(err, response, body) {       if(err) {         console.log("refresh: error: %s", err);         res.status(550).send("internal server error");         return;       }       if (response.statuscode != 200) {         console.log("refresh: response: %s", response.statuscode);         res.status(550).send("permission denied");         return;       }       console.log("refresh: body: %s", body);         res.status(response.statuscode).set({             "content-type": "application/json"         }).send(body);     }); }); 

receive following error in xcode: error refreshing token: jsonerror refreshing session error domain=nscocoaerrordomain code=3840 "json text did not start array or object , option allow fragments not set."}

not sure if have store refresh token somewhere? store sessions in nsuser defaults.


Comments

Popular posts from this blog

sql - VB.NET Operand type clash: date is incompatible with int error -

SVG stroke-linecap doesn't work for circles in Firefox? -

python - TypeError: Scalar value for argument 'color' is not numeric in openCV -