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

android - Why am I getting the message 'Youractivity.java is not an activity subclass or alias' -

python - How do I create a list index that loops through integers in another list -

c# - “System.Security.Cryptography.CryptographicException: Keyset does not exist” when reading private key from remote machine -