Registrasi dan Login dengan Metode Lokal + Verifikasi Email

graph TD ns([Mulai]) ne([Selesai]) n1[User mengunjungi app] n2{User terlogin?} n3{"Menggunakan API<br>pemeriksaan email? (1)"} n4["Periksa ketersediaan email (2)"] n5{Email tersedia?} n6["User mendaftar (3)"] n7["User login (4)"] n8[User berbekal token-token<br>Access & Refresh] ns-->n1-->n2 n2-- Ya -->ne n2-- Tidak -->n3 n3-- Ya -->n4-->n5 n3-- Tidak -->n6 n5-- Ya -->n6 n5-- Tidak -->n7 n6-->n7-->n8-->ne

(1) Untuk alasan keamanan, API pemeriksaan email secara default tidak tersedia. Lihat cara mengaktifkannya.

(2) Server endpoint: GET ​/auth​/account; Client SDK method: auth.checkEmail(email)

(3) Server endpoint: POST ​/auth​/account; Client SDK method: auth.register("local", data)

(4) Server endpoint: POST ​/auth; Client SDK method: auth.login("local", data)

Ketika registrasi dengan metode lokal, MBaaS akan mengirim email kepada pengguna untuk kebutuhan verifikasi email yang bersangkutan.
Proses ini opsional. Artinya pengguna yang belum terverifikasi tetap bisa login. Dia hanya berstatus verified: false, di mana status tersebut boleh saja digunakan untuk membatasi menu-menu aplikasi yang tampil ke pengguna tersebut.

graph TD ns([Mulai]) ne([Selesai]) n1[User mengunjungi tautan di email verifikasi] n2{Verifikasi berhasil?} n3["Tampilkan info<br>#quot;verifikasi berhasil#quot; di app"] n4["Tampilkan info<br>#quot;verifikasi gagal#quot; di app"] ns-->n1-->n2 n2-- Ya -->n3-->ne n2-- Tidak -->n4-->ne