Merge pull request #5942 from jaredhilton/develop
Fix 3651, update to /api.../info endpoints to be secure and backwards compatible for mobile clients.pull/5982/head
commit
e5f545b0a2
@ -0,0 +1,12 @@ |
||||
RocketChat.API.default.helperMethods.set('getLoggedInUser', function _getLoggedInUser() { |
||||
let user; |
||||
|
||||
if (this.request.headers['x-auth-token'] && this.request.headers['x-user-id']) { |
||||
user = RocketChat.models.Users.findOne({ |
||||
'_id': this.request.headers['x-user-id'], |
||||
'services.resume.loginTokens.hashedToken': Accounts._hashLoginToken(this.request.headers['x-auth-token']) |
||||
}); |
||||
} |
||||
|
||||
return user; |
||||
}); |
||||
@ -1,5 +1,15 @@ |
||||
RocketChat.API.default.addRoute('info', { authRequired: false }, { |
||||
get: function() { |
||||
return RocketChat.Info; |
||||
const user = this.getLoggedInUser(); |
||||
|
||||
if (user && RocketChat.authz.hasRole(user._id, 'admin')) { |
||||
return RocketChat.API.v1.success({ |
||||
info: RocketChat.Info |
||||
}); |
||||
} |
||||
|
||||
return RocketChat.API.v1.success({ |
||||
version: RocketChat.Info.version |
||||
}); |
||||
} |
||||
}); |
||||
|
||||
@ -0,0 +1,12 @@ |
||||
RocketChat.API.v1.helperMethods.set('getLoggedInUser', function _getLoggedInUser() { |
||||
let user; |
||||
|
||||
if (this.request.headers['x-auth-token'] && this.request.headers['x-user-id']) { |
||||
user = RocketChat.models.Users.findOne({ |
||||
'_id': this.request.headers['x-user-id'], |
||||
'services.resume.loginTokens.hashedToken': Accounts._hashLoginToken(this.request.headers['x-auth-token']) |
||||
}); |
||||
} |
||||
|
||||
return user; |
||||
}); |
||||
Loading…
Reference in new issue