Dokumentasi
Login with Erekber
Cara Dapat `client_id` dan `client_secret`
- Minta ke admin Erekber.
- Admin Erekber akan memberikan `client_id`, `client_secret`, dan mendaftarkan `redirect_uri` aplikasi Anda.
Endpoint
| Metode | Path | Keterangan |
|---|---|---|
| GET | /oauth/authorize |
Memulai proses login pengguna. |
| POST | /oauth/token |
Menukar code menjadi access token. |
| GET | /oauth/userinfo |
Mengambil data pengguna dari access token. |
Contoh Request
Authorize
https://www.erekber.com/oauth/authorize?client_id=CLIENT_ID&redirect_uri=https%3A%2F%2Fexample.com%2Foauth%2Fcallback&response_type=code&scope=profile%20email&state=RANDOM_STATE&code_challenge=BASE64URL_SHA256&code_challenge_method=S256
Token
curl -X POST https://www.erekber.com/oauth/token \
-H "Accept: application/json" \
-d "grant_type=authorization_code" \
-d "client_id=CLIENT_ID" \
-d "client_secret=CLIENT_SECRET" \
-d "redirect_uri=https://example.com/oauth/callback" \
-d "code=AUTHORIZATION_CODE" \
-d "code_verifier=ORIGINAL_CODE_VERIFIER"
Userinfo
curl https://www.erekber.com/oauth/userinfo \
-H "Accept: application/json" \
-H "Authorization: Bearer ACCESS_TOKEN"
Contoh Response
Callback Authorize
https://www.erekber.com/oauth/callback?code=AUTHORIZATION_CODE&state=RANDOM_STATE
Token
{
"token_type": "Bearer",
"expires_in": 3600,
"access_token": "ACCESS_TOKEN",
"refresh_token": "REFRESH_TOKEN"
}
Userinfo
{
"sub": "123",
"name": "Nama Pengguna",
"given_name": "Nama",
"family_name": "Pengguna",
"preferred_username": "username",
"updated_at": "2026-04-30T10:00:00+07:00",
"email": "user@example.com",
"email_verified": true
}
Payload
Authorize
| Nama | Tipe | Wajib | Keterangan |
|---|---|---|---|
client_id |
string | Ya | ID aplikasi client dari Erekber. |
redirect_uri |
string | Ya | URL callback aplikasi client. |
response_type |
string | Ya | Isi dengan `code`. |
scope |
string | Opsional | Contoh: `profile email`. |
state |
string | Disarankan | Nilai acak untuk validasi callback. |
code_challenge |
string | Jika PKCE | Hash dari code verifier. |
code_challenge_method |
string | Jika PKCE | Isi dengan `S256`. |
Token
| Nama | Tipe | Wajib | Keterangan |
|---|---|---|---|
grant_type |
string | Ya | Isi dengan `authorization_code`. |
client_id |
string | Ya | ID aplikasi client. |
client_secret |
string | Ya | Secret aplikasi client. |
redirect_uri |
string | Ya | Harus sama dengan yang dikirim saat authorize. |
code |
string | Ya | Authorization code dari callback Erekber. |
code_verifier |
string | Jika PKCE | Code verifier asli sebelum di-hash. |
Userinfo Request Header
| Nama | Tipe | Wajib | Keterangan |
|---|---|---|---|
Authorization |
header | Ya | Format: `Bearer ACCESS_TOKEN`. |
Accept |
header | Disarankan | Isi dengan `application/json`. |
Response Field
| Nama | Tipe | Keterangan |
|---|---|---|
token_type |
string | Jenis token, biasanya `Bearer`. |
expires_in |
integer | Masa berlaku access token dalam detik. |
access_token |
string | Token untuk akses endpoint userinfo. |
refresh_token |
string | Token untuk meminta access token baru. |
sub |
string | ID unik pengguna Erekber. |
name |
string | Nama lengkap pengguna. |
given_name |
string | Nama depan pengguna. |
family_name |
string | Nama belakang pengguna. |
preferred_username |
string | Username Erekber. |
updated_at |
string | Waktu update profil. |
email |
string | Email pengguna. |
email_verified |
boolean | Status verifikasi email. |