Skip to content
Snippets Groups Projects
Commit e5464f35 authored by jaredhilton's avatar jaredhilton
Browse files

Get user by token AND user id, make /api/info match expected properties

parent 4f3f0c6d
No related branches found
No related tags found
No related merge requests found
RocketChat.API.default.helperMethods.set('getLoggedInUser', function _getLoggedInUser() { RocketChat.API.default.helperMethods.set('getLoggedInUser', function _getLoggedInUser() {
let token;
let user; let user;
if (this.request.headers['x-auth-token']) { if (this.request.headers['x-auth-token'] && this.request.headers['x-user-id']) {
token = Accounts._hashLoginToken(this.request.headers['x-auth-token']); user = RocketChat.models.Users.findOne({
user = RocketChat.models.Users.findOne({'services.resume.loginTokens.hashedToken': token}); '_id': this.request.headers['x-user-id'],
'services.resume.loginTokens.hashedToken': Accounts._hashLoginToken(this.request.headers['x-auth-token'])
});
} }
return user; return user;
......
...@@ -3,15 +3,14 @@ RocketChat.API.default.addRoute('info', { authRequired: false }, { ...@@ -3,15 +3,14 @@ RocketChat.API.default.addRoute('info', { authRequired: false }, {
const user = this.getLoggedInUser(); const user = this.getLoggedInUser();
if (user && RocketChat.authz.hasRole(user._id, 'admin')) { if (user && RocketChat.authz.hasRole(user._id, 'admin')) {
return { return RocketChat.API.v1.success({
info: RocketChat.Info info: RocketChat.Info
}; });
} }
return RocketChat.API.v1.success({ return RocketChat.API.v1.success({
info: { version: RocketChat.Info.version,
'version': RocketChat.Info.version build: RocketChat.Info.build
}
}); });
} }
}); });
RocketChat.API.v1.helperMethods.set('getLoggedInUser', function _getLoggedInUser() { RocketChat.API.v1.helperMethods.set('getLoggedInUser', function _getLoggedInUser() {
let token;
let user; let user;
if (this.request.headers['x-auth-token']) { if (this.request.headers['x-auth-token'] && this.request.headers['x-user-id']) {
token = Accounts._hashLoginToken(this.request.headers['x-auth-token']); user = RocketChat.models.Users.findOne({
user = RocketChat.models.Users.findOne({'services.resume.loginTokens.hashedToken': token}); '_id': this.request.headers['x-user-id'],
'services.resume.loginTokens.hashedToken': Accounts._hashLoginToken(this.request.headers['x-auth-token'])
});
} }
return user; return user;
......
...@@ -3,9 +3,9 @@ RocketChat.API.v1.addRoute('info', { authRequired: false }, { ...@@ -3,9 +3,9 @@ RocketChat.API.v1.addRoute('info', { authRequired: false }, {
const user = this.getLoggedInUser(); const user = this.getLoggedInUser();
if (user && RocketChat.authz.hasRole(user._id, 'admin')) { if (user && RocketChat.authz.hasRole(user._id, 'admin')) {
return { return RocketChat.API.v1.success({
info: RocketChat.Info info: RocketChat.Info
}; });
} }
return RocketChat.API.v1.success({ return RocketChat.API.v1.success({
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment