Muhajir Project
PROFILE PROVIDER

Login terkelola untuk aplikasiyang butuh akses aman dengan cepat.

Daftarkan aplikasi, wajibkan PKCE, kumpulkan consent, terbitkan token, dan buka API pengguna berbasis scope tanpa membangun auth dari nol.

Gunakan login terkelola dan API pengguna berbasis scope sebagai profile provider terpusat, tempat banyak aplikasi meminta data pengguna tepercaya dari satu sumber.

Authorization Code Flow
OIDC
Hanya S256
PKCE
profile, email, permissions
Scopes
/api/external/me
API
  • Tanpa client secret
  • Consent terkelola
  • Aplikasi dikelola admin
Permintaan otorisasiS256
client_id
app_8f3a2b
response_type
code
scope
openid profile email
redirect_uri
/auth/callback
Respons Profile Provider
{
  "sub": "user_123",
  "email": "user@example.com",
  "emailVerified": true,
  "name": "Jane Developer"
}
Kapabilitas

Semua yang dibutuhkan integrasi untuk login pengguna yang aman.

Login provider menggabungkan setup aplikasi oleh admin, alur pengguna terkelola, dan API yang sadar scope.

  • Public PKCE clients

    Aplikasi menerima public client ID dan memakai Authorization Code Flow dengan PKCE. Client secret tidak diterbitkan untuk klien browser atau mobile.

    code_challenge_method=S256
  • Kontrol redirect presisi

    Admin mendaftarkan origin dan redirect path yang diizinkan agar callback otorisasi hanya menuju URL aplikasi yang dikenal.

    origin + redirect path = redirect URI valid
  • Login dan verifikasi terkelola

    Pengguna masuk, mendaftar, dan memverifikasi email di pengalaman login terkelola sebelum otorisasi selesai.

    verifikasi email sebelum otorisasi selesai
  • Consent dengan metadata aplikasi

    Layar consent dapat menampilkan detail aplikasi terdaftar seperti nama, logo, deskripsi, dan scope yang diminta.

    metadata aplikasi publik
  • API pengguna berbasis scope

    Aplikasi memanggil /api/external/me dengan bearer access token dan hanya menerima field yang diizinkan oleh scope.

    openid wajib
  • CORS siap browser

    Origin browser terdaftar dapat memanggil token endpoint dan API eksternal dengan request bearer-token tanpa kredensial cookie.

    Authorization: Bearer ACCESS_TOKEN
  • Profile provider terpusat

    Banyak aplikasi meminta data profil bersama melalui scope, bukan mengumpulkan data pengguna yang sama berulang kali.

    data profil lintas aplikasi
Lapisan Profile Provider

Satu profile provider untuk setiap aplikasi yang dipercaya pengguna.

Profile Provider memusatkan login, consent, dan API pengguna berbasis scope untuk banyak aplikasi: satu profil pengguna, satu sumber identitas tepercaya, dan satu tempat meminta data yang boleh diakses tiap aplikasi.

Mengapa ini penting
  • Pengguna tidak perlu mengisi ulang data profil yang sama di setiap aplikasi.
  • Tim tidak perlu membangun penyimpanan profil pengguna untuk setiap aplikasi baru.
  • Admin mengelola akses aplikasi dari satu tempat.
  • Scope menentukan kategori profil dan data yang bisa diakses setiap aplikasi.
Cara kerja

Dari registrasi sampai profil pengguna dalam lima langkah.

  1. 01

    Daftarkan aplikasi

    Buat aplikasi di dashboard admin dengan origin, redirect path, scope, metadata tampilan, dan logo opsional.

  2. 02

    Arahkan ke login terkelola

    Kirim pengguna ke authorization endpoint dengan PKCE, state, nonce, redirect URI, dan scope yang diminta.

  3. 03

    Verifikasi dan consent

    Pengalaman terkelola menangani login, pendaftaran, verifikasi email, dan consent menggunakan metadata aplikasi terdaftar.

  4. 04

    Tukar authorization code

    Aplikasi menukar authorization code memakai PKCE verifier asli. Public PKCE client tidak mengirim client secret.

  5. 05

    Panggil API eksternal

    Gunakan access token untuk mengambil profil pengguna berbasis scope dari /api/external/me.

Alur login lengkap yang bisa dipercaya pengguna.

Pratinjau ilustratif

Tampilkan pengalaman login terkelola yang familiar, kumpulkan consent dengan jelas, dan berikan respons API yang terprediksi setelah login.

Login terkelola
user@example.com
••••••••••
Lanjutkan

Pengguna autentikasi di alur terkelola sebelum aplikasi menerima authorization code.

Consent

Acme Reports ingin mengakses akun Anda

  • profile
  • email
  • permissions

Consent terhubung ke metadata aplikasi terdaftar dan scope yang dipilih.

Konfigurasi admin
client_id
app_8f3a2b
origin
https://app.example.com
redirect path
/auth/callback
scopes
openid profile email

Admin mengatur origin, callback, scope, dan metadata yang dipakai setiap integrasi.

Sumber profil bersama
  • email terverifikasi
  • nama tampilan
  • avatar
  • permissions
{
  "sub": "user_123",
  "email": "user@example.com",
  "emailVerified": true,
  "name": "Jane Developer"
}

Respons hanya berisi field yang diberikan oleh scope pada access token.

Jalur integrasi

Dibangun untuk bentuk aplikasi yang umum.

  • React SPA

    Gunakan PKCE di browser, origin terdaftar, dan panggilan bearer-token ke API eksternal.

    Baca resep SPA
  • Backend Node.js

    Simpan token di server sambil memberi browser hanya sesi aplikasi Anda.

    Baca resep backend
  • Aplikasi mobile

    Gunakan PKCE dengan HTTPS Universal Links atau Android App Links untuk menangani redirect.

    Baca resep mobile
Minta akses

Ingin mencobanya dengan aplikasi Anda?

Minta akses dan sertakan detail aplikasi yang dibutuhkan admin untuk mendaftarkan klien: perusahaan, origin, redirect path, scope, dan use case.

Minta akses
Mulai di sini

Mulai dari dokumentasi, atau minta akses untuk aplikasi terdaftar pertama Anda.

Provider ini siap untuk tim teknis yang membutuhkan jalur login terkelola, consent, dan API profil yang aman tanpa membangun platform dari nol.

FAQ

Pertanyaan yang biasanya ditanyakan tim sebelum integrasi.

Jawaban ringkas tentang Public PKCE client, scope, panggilan API dari browser, dan cara data profil dibagikan lintas aplikasi.

Apakah aplikasi membutuhkan client secret?

Tidak. Aplikasi yang dibuat admin adalah Public PKCE client dan tidak menerima client secret.