A meteor package to mimic other users
Add package:
meteor add mvinc:mimic
You need to create a new Meteor methods, this method will be call each time someone is trying to mimic a user, so you can check who can mimic or not.
Here is a security method example
'Mimic.security' (originalId, currentId, targetId) {
if (Authority.userCan(originalId, ['mimic'])) {
return true
} return false
}
originalId is the id of the user who initiates the first mimic.
currentId is the current id of the user, if you mimic a user this argument will be equal to the id of this user.
targetId is the id of the user you want to mimic
Here, I use chap:authority to check if the user have the permission to 'mimic'
You need to set the security method name.
import Mimic from 'mvinc:mimic'
Mimic.securityMethod = 'Mimic.security'
Now you can use all the methods of the client API.
The callback expose always the same arguments.
err which is a standard Meteor.Error
and res which is the id of the user setted.
Restore the current mimic state, useful in the Accounts.onLogin callback if you want to persist the mimic after a refresh.
Mimic.setMasks((err, res) => console.log(res))
Mimic the user with the _id userId
Mimic.mask('SXwdJERzhs5gfuegH', (err, res) => console.log(res))
Restore the previous user mimiced
Mimic.unmask((err, res) => console.log(res))
Be yourself !
Mimic.resetMasks((err, res) => console.log(res))