Pendahuluan
sso-frappe adalah client OAuth2/OIDC yang bisa dipakai ulang untuk menambahkan "Login with Frappe" ke aplikasi JavaScript/TypeScript — dan melalui package Composer khusus, ke Laravel.
Satu package, banyak entry point — tiap entry point ditujukan untuk environment yang berbeda (browser, server, atau adapter framework). Tinggal pilih yang sesuai kebutuhan; core OAuth-nya tetap sama.
Stack yang didukung
| Stack | Entry point | Perlu backend sendiri? |
|---|---|---|
| Next.js (App Router + Auth.js v5) | sso-frappe/next-auth |
Tidak — server Next.js yang menangani |
| Next.js (custom, tanpa Auth.js) | sso-frappe/server |
Tidak — API routes yang menangani |
| Nuxt 3+ | sso-frappe/browser + sso-frappe/server |
Gunakan Nitro server route |
| React SPA (Vite/CRA/Next client) | sso-frappe/browser |
Ya — Express/NestJS/Fastify dll |
| Vue / Nuxt SPA (client-only) | sso-frappe/browser |
Ya — backend JS apa pun |
| Svelte / SvelteKit | sso-frappe/browser + sso-frappe/server |
Server SvelteKit atau backend sendiri |
| Express / Fastify / Koa / Hono / NestJS | sso-frappe/server |
Ya — itu backend-nya |
| Deno / Bun | sso-frappe/server |
Ya — itu backend-nya |
| Laravel / PHP | sso-frappe-laravel (package Composer — lihat panduan Laravel) |
Laravel side |
| Frappe → Frappe | Tidak perlu package — gunakan Social Login Key bawaan Frappe (panduan) | Tidak |
Entry points
| Import | Fungsi |
|---|---|
sso-frappe/server |
Client sisi server. Untuk token exchange dengan clientSecret, mengambil userinfo, dan discovery. Cocok untuk backend Node.js (Express, NestJS, Nitro, ...). |
sso-frappe/browser |
Client aman untuk browser. Memulai flow OAuth (state + PKCE + redirect) dan memvalidasi callback. Tidak pernah menerima clientSecret. Cocok untuk SPA (React, Vue, Svelte, vanilla JS). |
sso-frappe/next-auth |
Konfigurasi provider Auth.js v5 untuk Next.js. |
sso-frappe (root) |
Shared types, validator config, error classes, validateState. |
Cara membaca dokumentasi ini
- Getting Started — pahami alur OAuth, lalu buat OAuth client di Frappe.
- Guides — baca schema identitas user dan aturan keamanan.
- Frameworks — pilih stack yang kamu pakai, lalu ikuti langkahnya dari awal sampai akhir.
- Reference — detail API browser/server client dan endpoint Frappe yang dipakai package ini.
Mulai dari Cara Kerja, lalu Setup Frappe Provider.