user (Identity Provider)

Properti user memiliki beberapa informasi dan fungsi terkait user.
Properti user ditentukan berdasarkan hasil pengecekan access token ke Identity Provider, yaitu berupa objek jika pengguna sedang login atau tidak memiliki nilai (undefined) jika tidak login.

ctx.moco.user;

Sebelum menggunakan method-method di bawah ini, harap sesuaikan pengaturan di identity provider Anda. Saat ini MBaaS mendukung provider:

User ID

string
User ID dapat digunakan untuk mengidentifikasi pengguna.

Example

const userId = ctx.moco.user.id;

User methods

Method-method user hanya tersedia jika pengguna sedang login dan untuk trigger mode berikut:

  • Remote function (client-sdk)
  • HTTP webhook
  • HTTP raw

getCompositeDetails()

Return

Promise<object>
Data profil pengguna terlogin. Mengandung klaim-klaim dari akun identity provider dan kolom-kolom profil lokal.

{
id: "28dc27d3-8a08-4698-b24c-23e233c533a0",
userinfo_claims: {
sub: "28dc27d3-8a08-4698-b24c-23e233c533a0",
email: "admin@mylib.id",
email_verified: true,
name: "The Admin",
client_roles: ["Company Admin"]
},
local_profile: {
created_at: "2020-04-20T06:50:38.831Z",
updated_at: "2020-04-20T06:50:38.831Z",
deactivated_at: null,
roles: ["Administrator", "Manager"],
email: "admin@mylib.id",
verified: true,
fcm_tokens: [],
name: null,
country: null,
address: null
}
}

Catatan: Nilai di userinfo_claims.client_roles bisa berbeda dengan local_profile.roles.

getDetails()

Return

Promise<object>
Data profil (lokal) pengguna terlogin.

{
id: "28dc27d3-8a08-4698-b24c-23e233c533a0",
created_at: "2020-04-20T06:50:38.831Z",
updated_at: "2020-04-20T06:50:38.831Z",
deactivated_at: null,
roles: ["Administrator", "Manager"],
email: "admin@mylib.id",
verified: true,
fcm_tokens: [],
name: null,
country: null,
address: null
}

logout(opts)

Cabut akses user yang bersangkutan, sehingga refresh token dan access token yang dipegang tidak akan berlaku lagi untuk request-request berikutnya.

Arguments

nametypedescription
optsobject
opts.refresh_tokenstringrefresh token

Return

Promise<null>

assignRoles(role1, role2, ...)

Tambahkan satu peran atau lebih kepada user yang bersangkutan, sesuai dengan peran-peran yang telah didefinisikan.
Otomatis digabungkan dengan peran-peran yang sedang dimilikinya.

Arguments

nametypedescription
role1, role2, ...stringperan

Return

Promise<null>

removeRoles(role1, role2, ...)

Hapus satu peran atau lebih dari user yang bersangkutan.

Arguments

nametypedescription
role1, role2, ...stringperan

Return

Promise<null>