Adds endpoint for non-revocable session token upgrade (#2646)

This commit is contained in:
Florent Vilmart
2016-09-09 14:48:06 -04:00
committed by GitHub
parent c5fdd91aa3
commit 340eb46fe1
4 changed files with 156 additions and 3 deletions

View File

@@ -78,6 +78,23 @@ var getAuthForSessionToken = function({ config, sessionToken, installationId } =
});
};
var getAuthForLegacySessionToken = function({config, sessionToken, installationId } = {}) {
var restOptions = {
limit: 1
};
var query = new RestQuery(config, master(config), '_User', { sessionToken: sessionToken}, restOptions);
return query.execute().then((response) => {
var results = response.results;
if (results.length !== 1) {
throw new Parse.Error(Parse.Error.INVALID_SESSION_TOKEN, 'invalid legacy session token');
}
let obj = results[0];
obj.className = '_User';
let userObject = Parse.Object.fromJSON(obj);
return new Auth({config, isMaster: false, installationId, user: userObject});
});
}
// Returns a promise that resolves to an array of role names
Auth.prototype.getUserRoles = function() {
if (this.isMaster || !this.user) {
@@ -195,5 +212,6 @@ module.exports = {
Auth: Auth,
master: master,
nobody: nobody,
getAuthForSessionToken: getAuthForSessionToken
getAuthForSessionToken,
getAuthForLegacySessionToken
};