* Cache users by objectID, and clear cache when updated via master key * Go back to caching by session token. Clear out cache by querying _Session when user is modified with Master Key (ew, hopefully that can be improved later) * Fix issue with user updates from different sessions causing stale reads * Tests aren't transpiled... * Still not transpiled
This commit is contained in:
@@ -27,9 +27,9 @@ function handleParseHeaders(req, res, next) {
|
||||
dotNetKey: req.get('X-Parse-Windows-Key'),
|
||||
restAPIKey: req.get('X-Parse-REST-API-Key')
|
||||
};
|
||||
|
||||
|
||||
var basicAuth = httpAuth(req);
|
||||
|
||||
|
||||
if (basicAuth) {
|
||||
info.appId = basicAuth.appId
|
||||
info.masterKey = basicAuth.masterKey || info.masterKey;
|
||||
@@ -156,24 +156,24 @@ function httpAuth(req) {
|
||||
if (!(req.req || req).headers.authorization)
|
||||
return ;
|
||||
|
||||
var header = (req.req || req).headers.authorization;
|
||||
var appId, masterKey, javascriptKey;
|
||||
var header = (req.req || req).headers.authorization;
|
||||
var appId, masterKey, javascriptKey;
|
||||
|
||||
// parse header
|
||||
var authPrefix = 'basic ';
|
||||
|
||||
|
||||
var match = header.toLowerCase().indexOf(authPrefix);
|
||||
|
||||
|
||||
if (match == 0) {
|
||||
var encodedAuth = header.substring(authPrefix.length, header.length);
|
||||
var credentials = decodeBase64(encodedAuth).split(':');
|
||||
|
||||
|
||||
if (credentials.length == 2) {
|
||||
appId = credentials[0];
|
||||
var key = credentials[1];
|
||||
|
||||
|
||||
var jsKeyPrefix = 'javascript-key=';
|
||||
|
||||
|
||||
var matchKey = key.indexOf(jsKeyPrefix)
|
||||
if (matchKey == 0) {
|
||||
javascriptKey = key.substring(jsKeyPrefix.length, key.length);
|
||||
@@ -183,7 +183,7 @@ function httpAuth(req) {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return {appId: appId, masterKey: masterKey, javascriptKey: javascriptKey};
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user