Skip to content

Members and auth

Customer (member), address dan profile mereka, login storefront, dan data reference location. Module users yang memilikinya.

Cara halaman ini diverifikasi

Dibaca pada 2026-09-15 dari backend module users, area storefront /auth dan /user, serta area admin /admin/members.

Modelnya

Tabel: members, member_addresses, member_profile_pictures, plus tabel cart (lihat Cart and checkout) dan stores / store_images / collaboration_stores. Reference location adalah ref_countries, ref_provinces, ref_cities, ref_districts, ref_subdistricts — dipakai oleh address dan store locator.

Member auth (storefront)

Backend resolver storefront-members-auth (front*): loginAsMember, registerAsMember, verifyMember, requestResetMemberPassword, resetMemberPassword, frontMe, frontRefreshToken. Password memakai bcrypt; registrasi butuh verifikasi email. Ini adalah realm JWT member (strategy jwt-member) — terpisah dari admin auth. Lihat API and auth.

Sisi storefront: NextAuth Credentials provider → loginAsMember (src/app/auth.ts); token di session NextAuth, dikirim sebagai Bearer; expiry → frontRefreshToken, gagal → paksa sign-out. UI di src/modules/auth/components/ (form-signin, form-register, form-request-reset-password, form-reset-password). Route /auth/signin, /auth/register, /auth/verify, /auth/reset-password. Hanya Credentials provider — tanpa social login di storefront.

Member account (storefront)

/user/*: profile (/user/profile), address book (/user/address + add/edit), riwayat order (/user/my-order, lihat Orders). Data lewat frontMemberAddress(es) dan query ref-location; update profile lewat REST PUT di front/members.

Alamat dan lokasi

Resolver storefront-members-addresses: address CRUD plus frontCountries / frontProvinces / frontCities / frontDistricts / frontSubdistricts. Tabel location yang sama juga menopang store locator (frontStores, frontCitiesWithActiveStores) dan halaman storefront /store-locator (di balik NEXT_PUBLIC_FEAT_STORE_LOCATOR).

Admin

/admin/members — list, add-member, edit-member, dan [slug] dengan address member (add-address / edit-address). Backend CMS resolver members: members, member, dashboardMember, memberFilterBounds, newMemberId, address CRUD, query ref-location; plus export Excel member dan helper migration/notify. Store dikelola di /admin/stores.

Hal yang perlu diwaspadai

  • Dua realm. Token member bukan token admin; guard dan secret-nya beda.
  • Reference location dipakai bersama. Address, store locator dan courier rate semuanya bersandar pada tabel ref_*.
  • member.recalculate_favorites dan event order.completed memperbarui statistik member setelah sebuah order (users/services/members.service.ts).