All Products
Search
Document Center

SuperApp:Otorisasi

Last Updated:Apr 23, 2026

Metode otorisasi

Metode

Ketersediaan

Deskripsi

wv.authorize

Didukung secara global

  • Memperoleh informasi perangkat pengguna.

  • Meminta otorisasi pengguna terlebih dahulu. Memanggil API ini segera memunculkan prompt kepada pengguna untuk memberikan izin kepada miniapp untuk fitur seperti kamera atau geolokasi, tetapi tidak memanggil API yang sesuai.

  • Jika pengguna telah memberikan otorisasi, prompt tidak muncul dan pemanggilan berhasil.

wv.getAuthCode

Didukung secara global

  • Memperoleh informasi pribadi pengguna.

  • Memungkinkan Anda menentukan cakupan (scopes) kustom.

wv.authorize: Informasi perangkat pengguna

Prasyarat

Sebelum memulai

  • Saat miniapp memanggil API yang memerlukan informasi perangkat, seperti WVLocation.getLocation atau WVVideo.chooseVideo, aplikasi host harus menampilkan prompt otorisasi agar pengguna memberikan izin. Developer miniapp dapat memanggil wv.getSetting untuk memeriksa status otorisasi miniapp saat ini.

  • Untuk menggunakan API yang memerlukan otorisasi, pengguna harus memberikan izin pada dua tingkat: kepada miniapp di dalam aplikasi host dan kepada aplikasi host di tingkat sistem operasi.

  • Kedua tingkat otorisasi ini bersifat independen. Jika pengguna telah memberikan izin kepada program mini tetapi aplikasi Host belum memperoleh izin sistem yang sesuai, Kontainer akan secara otomatis memicu prompt sistem saat API dipanggil. Program mini juga dapat memanggil API WVUIDialog.showAuthGuide untuk memandu pengguna ke halaman pengaturan sistem guna memberikan izin kepada aplikasi Host.

Logika otorisasi miniapp

Jika pengguna belum memberikan otorisasi kepada miniapp, Anda harus terlebih dahulu memanggil wv.authorize sebelum memanggil API yang memerlukan izin. Aplikasi host kemudian akan menampilkan prompt otorisasi kepada pengguna:

  • Jika pengguna menyetujui, miniapp dapat memanggil API informasi perangkat tersebut. Pemanggilan berikutnya tidak akan memicu prompt otorisasi lagi.

  • Jika pengguna menolak, callback fail segera dipicu, menandakan bahwa otorisasi ditolak. Pemanggilan API berikutnya akan kembali menampilkan prompt otorisasi.

Developer miniapp sebaiknya terlebih dahulu memanggil wv.getSetting untuk memeriksa status otorisasi pengguna sebelum memanggil API yang memerlukannya. Jika izin belum diberikan, panggil wv.authorize untuk memintanya, lalu panggil API target.

Logika izin tingkat sistem

Jika izin yang diperlukan dinonaktifkan di sistem operasi atau belum diberikan kepada aplikasi host, pemanggilan API akan gagal meskipun pengguna telah memberikan izin kepada miniapp. Biasanya, saat pertama kali miniapp memanggil API tersebut, aplikasi host juga meminta izin dari sistem dan menampilkan prompt. Jika pengguna menolak permintaan tersebut dan memilih 'Don’t ask again', pemanggilan berikutnya mungkin langsung memicu callback fail. Dalam kasus ini, developer miniapp dapat memanggil WVUIDialog.showAuthGuide untuk membuka halaman pengaturan izin sistem dan mengarahkan pengguna agar mengaktifkan izin tersebut secara manual.

wv.getAuthCode: Informasi pribadi pengguna

API wv.getAuthCode meminta pengguna untuk memberikan akses miniapp saat ini ke informasi pribadi mereka, seperti nama dan informasi kontak, dengan menampilkan prompt otorisasi mengambang. Kami menyarankan Anda hanya memanggil wv.getAuthCode setelah pengguna benar-benar memahami layanan miniapp Anda. Hindari memanggil wv.getAuthCode di layar utama miniapp karena hal ini dapat menurunkan pengalaman pengguna.

Server backend miniapp harus menggunakan kode otorisasi (authCode) yang dikembalikan oleh wv.getAuthCode. Server tersebut kemudian dapat menukar kode ini dengan platform untuk memperoleh informasi pribadi pengguna, seperti ID pengguna, avatar, nama panggilan, nomor telepon, wilayah, jenis kelamin, dan tanggal lahir.

Alibaba Cloud SuperApp Application Open Platform menyediakan definisi API standar untuk wv.getAuthCode. Namun, karena platform tidak memiliki akses ke informasi pengguna dari client SuperApps, developer SuperApp bertanggung jawab untuk mengimplementasikan API ini. Untuk referensi implementasi, lihat Best practices for implementing SuperApp technical standards.

Kontrol cakupan (scope)

Cakupan (scope) mendefinisikan rentang izin yang diminta developer dari pengguna.

  • Deklarasikan cakupan yang diperlukan untuk kontrol izin.

  • Untuk cakupan yang terkait informasi sensitif, permintaan otorisasi harus dipicu oleh tindakan pengguna; tidak boleh dipicu secara otomatis di latar belakang.

Cakupan (Scope)

API Terkait

Deskripsi

API Otorisasi

USER_ID

-

Memberikan izin untuk memperoleh identifier unik pengguna (user_id). Ini adalah otorisasi diam (silent authorization), yang tidak menampilkan dialog.

API Otorisasi: wv.getAuthCode

USER_NICKNAME

-

Memberikan izin untuk memperoleh nama panggilan pengguna aplikasi.

USER_NAME

-

Memberikan izin untuk memperoleh nama pengguna aplikasi.

USER_LOGIN_ID

-

Memberikan izin untuk memperoleh ID login pengguna aplikasi.

HASH_LOGIN_ID

-

Memberikan izin untuk memperoleh hash dari ID login pengguna aplikasi.

USER_AVATAR

-

Memberikan izin untuk memperoleh avatar pengguna aplikasi.

USER_GENDER

-

Memberikan izin untuk memperoleh jenis kelamin pengguna aplikasi.

USER_BIRTHDAY

-

Memberikan izin untuk memperoleh tanggal lahir pengguna aplikasi.

USER_NATIONALITY

-

Memberikan izin untuk memperoleh kewarganegaraan pengguna aplikasi.

USER_CONTACTINFO

-

Memberikan izin untuk memperoleh informasi kontak pengguna aplikasi.

auth_base

-

Memberikan izin untuk memperoleh identifier unik pengguna (user_id). Ini adalah otorisasi diam (silent authorization), yang tidak menampilkan dialog.

auth_user

-

Memberikan izin untuk memperoleh informasi akun aplikasi.

location

WVLocation.getLocation atau WVLocation.searchLocation

Otorisasi geolokasi

API Otorisasi: wv.authorize

camera

WVScan.scan

Otorisasi kamera

Bluetooth

Semua metode WVBluetooth

Otorisasi Bluetooth

album

WVVideo.chooseVideo atau WVCamera.takePhoto

Otorisasi album

contacts

Semua metode WVContacts

Otorisasi kontak

microphone

WVMotion.listenBlow atau WVMotion.stopListenBlow

Otorisasi mikrofon

file

WVVideo.saveVideoToPhotosAlbum atau WVImage.saveImage

Otorisasi file

call

WVCall.dial atau WVCall.call

Otorisasi panggilan

vibration

WVMotion.vibrate

Otorisasi getaran

screen capture

WVMotion.vibrate

Otorisasi tangkapan layar