PHPackages                             eganesha/cas-auth - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Authentication &amp; Authorization](/categories/authentication)
4. /
5. eganesha/cas-auth

ActiveLibrary[Authentication &amp; Authorization](/categories/authentication)

eganesha/cas-auth
=================

Laravel CAS Authentication integration for SSO Undiksha

2.0.0(6mo ago)054MITPHPPHP ^8.2

Since Oct 28Pushed 6mo agoCompare

[ Source](https://github.com/Satria-Kurniawan/eganesha-cas-auth)[ Packagist](https://packagist.org/packages/eganesha/cas-auth)[ RSS](/packages/eganesha-cas-auth/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependencies (1)Versions (4)Used By (0)

🔐 Laravel CAS Auth by Eganesha
==============================

[](#-laravel-cas-auth-by-eganesha)

Package ini menyediakan **integrasi Single Sign-On (SSO)** dengan **Central Authentication Service (CAS)** untuk aplikasi berbasis **Laravel**.
Didesain agar mudah digunakan, ringan, dan bisa diintegrasikan dengan CAS server seperti ****.

---

🚀 Instalasi
-----------

[](#-instalasi)

Tambahkan package ini menggunakan Composer:

```
composer require eganesha/cas-auth
```

⚙️ Konfigurasi

Publikasikan file konfigurasi:

```
php artisan vendor:publish --provider="EGanesha\CasAuth\CasServiceProvider"
```

Tambahkan URL server CAS di file .env:

```
CAS_SERVER_URL=https://sso.undiksha.ac.id/cas
```

🧩 Penggunaan

Tambahkan middleware cas.auth ke route Anda:

```
group(function () {
    Route::get('/dashboard', function () {
        $emailAtauUsername = Cas::getCurrentUser();
        return "Halo, " . $emailAtauUsername;
    });

    Route::get('/logout', function () {
        return Cas::logoutAndRedirect(url('/'));
    });
});
```

🚪 Login CAS &amp; Handle Sesi Manual Untuk melakukan redirect ke login ke server cas:

```
use EGanesha\CasAuth\Facades\Cas;
use Illuminate\Support\Facades\Route;

Route::get('/login-sso', function () {
    return Cas::redirectToLogin(url('/profile'));
});

// TANPA MIDDLEWARE
// VALIDASI MANUAL
Route::get('/profile', function () {
    $ticket = request('ticket');
    $serviceUrl = url('/profile');

    if ($ticket && Cas::validateTicket($ticket, $serviceUrl)) {
        Cas::storeCasUserInSession();
        return redirect($serviceUrl);
    }

    // Jika sudah terautentikasi
    if (Cas::isAuthenticated()) {
        $user = Cas::getCurrentUser();
        return "Halo, " . $user;
    }

    return 'Gagal autentikasi';
});
```

🚪 Logout CAS

Untuk melakukan logout dari CAS dan menghapus sesi:

```
use EGanesha\CasAuth\Facades\Cas;
use Illuminate\Support\Facades\Route;

Route::get('/logout', function () {
    Cas::logoutAndRedirect();
});
```

🧠 Metode yang Tersedia

```
Cas::redirectToLogin($serviceUrl)	        Redirect user ke halaman login CAS dengan parameter service.
Cas::validateTicket($ticket, $serviceUrl)	Memvalidasi tiket CAS yang diterima setelah login.
Cas::storeCasUserInSession()	            Menyimpan informasi user dan atribut ke sesi Laravel.
Cas::isAuthenticated()	                    Mengecek apakah user sudah login melalui CAS.
Cas::getCurrentUser()	                    Mengambil username/email user dari sesi CAS.
Cas::getAttributes()	                    Mengambil seluruh atribut user dari CAS (misal: nama, email, role, dsb).
Cas::logout()	                            Menghapus sesi CAS di aplikasi lokal tanpa logout dari CAS server.
Cas::getLogoutUrl($redirectUrl = null)	    Mendapatkan URL logout CAS server (dapat ditambahkan parameter service).
Cas::logoutAndRedirect($redirectUrl = null)	Menghapus sesi lokal dan langsung redirect ke halaman logout CAS server.
```

###  Health Score

35

—

LowBetter than 80% of packages

Maintenance66

Regular maintenance activity

Popularity11

Limited adoption so far

Community2

Small or concentrated contributor base

Maturity50

Maturing project, gaining track record

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~0 days

Total

3

Last Release

201d ago

Major Versions

v1.1.0 → 2.0.02025-10-29

### Community

Maintainers

![](https://www.gravatar.com/avatar/99cf2b2b0878e19cfbe4a4b93c92e3108c5d5f9a7b57bdc5df38d1b18428aeae?d=identicon)[Satria-Kurniawan](/maintainers/Satria-Kurniawan)

### Embed Badge

![Health badge](/badges/eganesha-cas-auth/health.svg)

```
[![Health](https://phpackages.com/badges/eganesha-cas-auth/health.svg)](https://phpackages.com/packages/eganesha-cas-auth)
```

###  Alternatives

[bezhansalleh/filament-shield

Filament support for `spatie/laravel-permission`.

2.8k2.9M88](/packages/bezhansalleh-filament-shield)[illuminate/auth

The Illuminate Auth package.

9327.3M1.0k](/packages/illuminate-auth)[olssonm/l5-very-basic-auth

Laravel stateless HTTP basic auth without the need for a database

1662.5M1](/packages/olssonm-l5-very-basic-auth)[stechstudio/laravel-jwt

Helper package that makes it easy to generate, consume, and protect routes with JWT tokens in Laravel

126117.6k](/packages/stechstudio-laravel-jwt)[scaler-tech/laravel-saml2

SAML2 Service Provider integration for Laravel applications, based on OneLogin toolkit

2737.5k](/packages/scaler-tech-laravel-saml2)[truckersmp/steam-socialite

Laravel Socialite provider for Steam OpenID.

1516.7k](/packages/truckersmp-steam-socialite)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
