Skip to content

getSessionToken() returning undefined #2052

Closed
@mindgrub-jkliphouse

Description

@mindgrub-jkliphouse

Describe your issue in as much detail as possible.

I'm setting up a SAML SSO.

Using the JS SDK, I get a token and then query for existing users or create a new one.

In both instances I call user.getSessionToken() on the user object.

Getting the user from a query results in an undefined sessionToken.

Saving the new user and calling the function returns a valid sessionToken.

   userQuery.first({useMasterKey:true}).then(function(user) {
            if(user)
            {
                return user.save(null, {useMasterKey: true}).then( function(user) {

                    var sessionToken = user.getSessionToken();
                    res.setHeader('session_token', sessionToken);
                    return res.send("You are set to go!");

                });
            }
            else
            {
                var user = new Parse.User();
                user.set("session_index", session_index);
                user.set("username", name_id);
                user.set("password", password);

                return user.save(null, {useMasterKey: true}).then( function(user) {

                    var sessionToken = user.getSessionToken();
                    res.setHeader('session_token', sessionToken);
                    return res.send("You are set to go!");

                });
            }

        }, function(error) {
            console.log(JSON.stringify(error));
        });

Expected Results

I expect to get a valid sessionToken in both instances.

Environment Setup

  • Server
    "parse-server": "^2.2.7",
    • Operating System: OSX
    • Hardware: macbook
    • Localhost or remote server? (AWS, Heroku, Azure, Digital Ocean, etc): localhost and heroku
  • Database
    • MongoDB version: MongoDB shell version: 3.2.5

Logs/Trace

verbose: GET /parse/classes/_User { 'user-agent': 'node-XMLHttpRequest, Parse/js1.8.5 (NodeJS 4.4.4)',
  accept: '*/*',
  'content-type': 'text/plain',
  host: 'localhost:1337',
  'content-length': '256',
  connection: 'close' } {
  "where": {
    "username": "username"
  },
  "limit": 1
}
verbose: {
  "response": {
    "results": [
      {
        "ACL": {
          "1Q6tU63QsW": {
            "read": true,
            "write": true
          }
        },
        "objectId": "1Q6tU63QsW",
        "session_index": "session_index",
        "username": "username",
        "updatedAt": "2016-06-13T16:11:15.375Z",
        "createdAt": "2016-06-13T14:58:58.644Z"
      }
    ]
  }
}
verbose: PUT /parse/classes/_User/1Q6tU63QsW { 'user-agent': 'node-XMLHttpRequest, Parse/js1.8.5 (NodeJS 4.4.4)',
  accept: '*/*',
  'content-type': 'text/plain',
  host: 'localhost:1337',
  'content-length': '186',
  connection: 'close' } {}
verbose: {
  "response": {
    "updatedAt": "2016-06-13T16:28:03.091Z",
    "ACL": {
      "1Q6tU63QsW": {
        "read": true,
        "write": true
      }
    }
  }
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions