J'essaie de développer un point de terminaison js personnalisé dans OpenIDM dans lequel je mets à jour l'utilisateur recherché avec deux attributs que je génère (otpexpiry
et otpvalue
) dans mon script.OpenIDM met à jour les attributs utilisateur sur le noeud final personnalisé
J'ai ajouté un JSON en openidm/conf/endpoint-otp.json
à conf lien:
{
"context" : "endpoint/otp/*",
"type" : "text/javascript",
"file" : "script/otp.js"
}
Et ceci est mon script openidm/script/otp.js
:
(function() {
if(request.method === "update") {
var five_minutes = 5 * 60 * 1000;
var timestamp = new Date().getTime();
var otpexpiry = timestamp + five_minutes;
var otpvalue = Math.floor(Math.random() * 9999);
/* Not sure of this code below I have to update the user searched with " otpdate : otpexpiry " and "otp : otpvalue "*/
var u = request.value;
var id = "managed/user/" + u._id;
if (id != null) {
openidm['update'](...);
}
return {
method: "update",
resourceName: request.resourcePath,
revision: request.revision,
parameters: request.additionalParameters,
patch: request.patchpperations,
context: context.current
};
} else {
throw { code: 500, message: "Unknown request type " + request.method};
}
})();
Comment puis-je mettre à jour deux variables de l'utilisateur recherché?