sfsso-frappe

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

  1. Getting Started — pahami alur OAuth, lalu buat OAuth client di Frappe.
  2. Guides — baca schema identitas user dan aturan keamanan.
  3. Frameworks — pilih stack yang kamu pakai, lalu ikuti langkahnya dari awal sampai akhir.
  4. Reference — detail API browser/server client dan endpoint Frappe yang dipakai package ini.

Mulai dari Cara Kerja, lalu Setup Frappe Provider.