Skip to content

Latest commit

 

History

History
76 lines (54 loc) · 2.32 KB

File metadata and controls

76 lines (54 loc) · 2.32 KB

Identity Core – User Authentication & Management System

Login-IC

Identity Core adalah sistem autentikasi dan manajemen user berbasis Laravel yang mendukung OAuth 2.0 dengan PKCE dan login sosial melalui Laravel Socialite, serta manajemen token API menggunakan Laravel Passport. Sistem ini dirancang untuk memberikan autentikasi yang aman dan fleksibel bagi aplikasi web maupun mobile.

Fitur Utama:

  • Login & registrasi user dengan OAuth 2.0 + PKCE
  • Social login (Google, GitHub, Facebook) menggunakan Laravel Socialite
  • API authentication dengan token menggunakan Laravel Passport
  • Endpoint REST API untuk manajemen user
  • Proteksi route untuk user terautentikasi

Teknologi:

  • Backend: Laravel 11
  • Auth & API: Laravel Passport, OAuth 2.0, PKCE
  • Social Login: Laravel Socialite
  • Database: PostgreSQL

Setup & Instalasi:

  1. Clone repository: git clone cd identity-core

  2. Install dependencies: composer install

  3. Setup environment: cp .env.example .env

  • Atur konfigurasi database dan Socialite di .env
  1. Generate app key: php artisan key:generate

  2. Migrate database: php artisan migrate

  3. Install Passport: php artisan passport:install

  4. Serve application: php artisan serve

OAuth 2.0 + PKCE:

  • Mendukung alur Authorization Code + PKCE untuk SPA dan mobile apps
  • Frontend harus generate code_verifier & code_challenge, redirect ke /oauth/authorize, lalu tukar code menjadi access token

Social Login:

  • Redirect ke provider: GET /auth/{provider}
  • Callback endpoint: GET /auth/{provider}/callback
  • Supported providers: Google, GitHub, Facebook (sesuai .env)

API Endpoints:

User Auth:

  • POST /api/register → registrasi user
  • POST /api/login → login user
  • POST /api/logout → logout user
  • GET /api/user → ambil profile user

User Management:

  • GET /api/users → daftar user
  • GET /api/users/{id} → detail user
  • PUT /api/users/{id} → update user
  • DELETE /api/users/{id} → hapus user

Semua endpoint dilindungi token Passport (Authorization: Bearer <access_token>)

Referensi: