utils
Properti utils
memiliki beberapa fungsi bantuan.
ctx.moco.utils;
Utility methods
hashPassword(pwd)
Hasilkan password hash.
Arguments
name | type | description |
---|---|---|
pwd | string | password |
Example
(async function () {
const hashedPwd = await ctx.moco.utils.hashPassword("12QWaszx");
})();
Return
Promise<string>
verifyPassword(pwd, storedPwd)
Cocokkan password dengan password hash.
Arguments
name | type | description |
---|---|---|
pwd | string | password yang hendak diverifikasi |
storedPwd | string | password tersimpan (hash) |
Example
(async function () {
const hashedPwd = await ctx.moco.utils.hashPassword("12QWaszx");
const pwdVerified = await ctx.moco.utils.verifyPassword(
"12QWaszx",
hashedPwd
);
})();
Return
Promise<boolean>
sendVerification(userId)
Kirim email verifikasi ke satu user.
Arguments
name | type | description |
---|---|---|
userId | string | ID dari user yang hendak dikirimi email verifikasi |
Example
(async function () {
const result = await ctx.moco.utils.sendVerification(userId);
})();
Return
Promise<string>
authenticate(ctx, accessToken)
Otentikasikan user secara manual. Access Token akan divalidasi. Jika valid, maka ctx.moco.user
akan terisi (tidak undefined
).
Arguments
name | type | description |
---|---|---|
ctx | any | context untuk request saat ini |
accessToken | string | access token |
Example
(async function () {
try {
await ctx.moco.utils.authenticate(ctx, ctx.data.accessToken);
console.log("user:", ctx.moco.user);
} catch (err) {
console.warn(err);
return {
status: 401,
error: {
name: err.name,
message: err.message,
},
};
}
})();
Return
Promise<undefined>
addAccess(userId)
Tambahkan akses untuk seorang user, sehingga menghasilkan Access Token dan Refresh Token.
Arguments
name | type | description |
---|---|---|
userId | string | ID user |
Example
(async function () {
const tokens = await ctx.moco.utils.addAccess(
"5c5f8364-129e-4dff-9621-f4a826cb5077"
);
})();
Return
Promise<object>
{
accessToken: "eyJhbGciOiJSUzI1NiIsInR5...",
expiry: "2071-09-29T17:21:05.343Z",
refreshToken: "eyJhbGciOiJSUzI1NiIsInR5..."
}
revokeAllAccess(userId)
Menghapus semua token whitelist dari seorang user.
Arguments
name | type | description |
---|---|---|
userId | string | ID user |
Example
(async function () {
const tokens = await ctx.moco.utils.revokeAllAccess(
"5c5f8364-129e-4dff-9621-f4a826cb5077"
);
})();
Return
Promise<undefined>