Otentikasi & Otorisasi
NU.ID menggunakan OAuth 2.0 sebagai metode untuk otentikasi dan otorisasi. OAuth 2.0 adalah protokol standar yang digunakan untuk memberikan akses ke aplikasi pihak ketiga terhadap sumber daya yang dilindungi. Ini memungkinkan pengguna untuk memberikan izin kepada aplikasi pihak ketiga untuk mengakses data mereka tanpa harus memberikan kata sandi mereka. Dengan menggunakan OAuth v2, NU.ID dapat memberikan keamanan dan kontrol yang lebih baik kepada pengguna.
Daftar API endpoint OAuth
Semua endpoint API berikut dapat diakses menggunakan base URL https://api.nu.id
Endpoint | Deskripsi |
---|---|
/oauth/authorize | Endpoint untuk mengotentikasi pengguna |
/oauth/token | Endpoint untuk mendapatkan token akses |
/oauth/refreshAccessToken | Endpoint untuk memperbaharui token akses |
/oauth/revoke | Endpoint untuk membatalkan token akses |
Authorize
Endpoint: /oauth/authorize
Inisiasi proses autentikasi pengguna menggunakan standar OAuth 2.0.
Method: GET
Parameter:
response_type
: jenis respons yang akan dikembalikan. Hanya tipecode
yang didukung.client_id
: ID klien yang digunakan untuk membuat permintaan OAuth.redirect_uri
: URL yang akan dikunjungi setelah Anda berhasil login.state
: Parameter yang dicantumkan pada permintaan OAuth.scope
: (opsional) daftar otorisasi yang diperlukan oleh aplikasi. Lihat daftar otorisasi untuk daftar lengkap otorisasi yang didukung.
Respon:
code
: Kode OAuth yang dapat digunakan untuk mendapatkan token akses.
Token
Endpoint: /oauth/token
Mendapatkan token akses OAuth 2 dari kode OAuth yang didapatkan sebelumnya melalui endpoint /oauth/authorize
.
Method: POST
Parameter:
client_id
: ID klien yang digunakan untuk membuat permintaan OAuth.client_secret
: Kunci rahasia klien yang didapatkan ketika mendaftarkan klien pertama kali.code
: Token OAuth yang didapatkan dari endpoint/oauth/authorize
.redirect_uri
: URL yang akan dikunjungi setelah user berhasil login.
Respons:
access_token
: Token OAuth yang dapat digunakan untuk mengakses layanan NU.ID.token_type
: jenis token OAuth, saat ini hanya mendukungBearer
.expires_in
: waktu kadaluwarsa token OAuth dalam detik.refresh_token
: Token OAuth yang dapat digunakan untuk memperbaharui token akses.
Refresh Access Token
Endpoint: /oauth/refreshAccessToken
Memperbarui token OAuth yang kedaluwarsa.
Method: POST
Parameter:
grant_type
: jenis permintaan.refresh_token
harus dipilih untuk menggunakan endpoint ini.refresh_token
: Token OAuth yang didapatkan dari endpoint/oauth/token
.client_id
: ID klien yang digunakan untuk membuat permintaan OAuth.
Respons:
access_token
: Token OAuth yang dapat digunakan untuk mengakses layanan NU.ID.expires_in
: waktu kadaluwarsa token OAuth dalam detik.
Revoke
Endpoint: /oauth/revoke
Membatalkan atau menghapus token akses OAuth.
Method: POST
Parameter:
token
: Token akses yang akan dibatalkan.
Respons: Tidak ada.
Daftar Otorisasi (Scope)
Berikut adalah daftar otorisasi atau scope yang didukung oleh NU.ID.
Otorisasi | Deskripsi |
---|---|
basic_info | Mengakses info nama dan alamat email (read-only) |
phone | Mengakses nomor telepon (read-only) |
keys_op | Menambahkan/mengurangi pasangan kunci (write-only) |
update_basic_info | Mengubah info dasar pengguna diataranya: nama dan photo (write-only) |