Download the PHP package sti-bayern/sti-auth without Composer

On this page you can find all versions of the php package sti-bayern/sti-auth. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package sti-auth

STI Auth -- Zentrales Login über Remote-Laravel-Auth

Ein Laravel-Package zur Anmeldung gegen einen zentralen Auth-Server (z. B. BVV-Adressverwaltung") über einen Remote-Token-Mechanismus.

Dieses Package ersetzt das lokale Login der Client-Anwendung und nutzt stattdessen eine externe Laravel-App zur Authentifizierung.\ Die Session des Clients enthält anschließend ein Remote-Token, das regelmäßig über /api/validate geprüft wird.

Installation

Package installieren

composer require sti-bayern/sti-auth

Bei lokaler Entwicklung:

composer require sti/sti-auth:* --dev

Konfiguration

Setzen der Env-Variablen

In der .env können optional folgende Variablen gesetzt werden: (die Beispielwerte entsprechen den Standardwerten)

AUTH_BASE_URL=https://adressen.ldbv.bybn.de     # Url des Anmeldedienstes
AUTH_API_VIEW=sti-auth::login                   # View-Name des Login-Templates
AUTH_API_ROUTE_LOGIN=/login                     # Route-Name des Login-Formulars
AUTH_API_ROUTE_LOGout=/logout                   # Route-Name des Logout-Formulars
AUTH_API_TOKEN=auth_token                       # Name des intern verwendeten Session-Tokens

optional Config veröffentlichen

Optional läßt sich die config auch veröffentlichen. Im Normalfall ist das nicht notwendig, die Konfiguration über die .env-Variablen reicht aus.

php artisan vendor:publish --provider="Sti\StiAuth\StiAuthServiceProvider" --tag=config

Es entsteht:

config/sti-auth.php

Remote Auth Guard einrichten (Laravel 12)

config/auth.php öffnen und ergänzen:

Damit verwendet Laravel automatisch den Remote-Guard.

Auth::user() gibt die Infos des angemeldeten Benutzer aus.

ggf. Routen des Packages anpassen

Standardmäßig läuft das Login über die Route /login.

Das kann entweder über die entsprechenden Variablen in der .env-Datei geändert werden, oder man veröffentlich die route-File des Pakets und passt diese an.

php artisan vendor:publish --provider="Sti\StiAuth\StiAuthServiceProvider" --tag=route

Optionale Synchronisierung in eine lokale User-Tabelle

Standardmäßig gibt Auth::user() einen RemoteUser zurück, der nur die vom Authentifizierungsserver bereitgestellten Daten enthält. Es ist jedoch möglich, diese Daten bei jeder Anmeldung automatisch in eine lokale Datenbanktabelle zu synchronisieren. Dies ermöglicht es Ihnen, Beziehungen zu anderen Modellen in Ihrer Anwendung zu definieren und die Benutzerdaten lokal zu erweitern.

1. Migration veröffentlichen und ausführen

Zuerst müssen Sie die Migrationsdatei veröffentlichen, die eine Standard-Benutzertabelle erstellt:

php artisan vendor:publish --provider="Sti\StiAuth\StiAuthServiceProvider" --tag=migrations
php artisan migrate

2. Konfiguration anpassen

Öffnen Sie die Konfigurationsdatei config/sti-auth.php (veröffentlichen Sie sie, falls noch nicht geschehen) und passen Sie den Abschnitt local_user an.

Wenn local_user.model auf ein gültiges Eloquent-Modell gesetzt ist, wird die Synchronisierung aktiviert. Bei jeder Anmeldung wird der Benutzer in der lokalen Tabelle über die id gesucht und aktualisiert (updateOrCreate). Auth::user() gibt dann eine Instanz Ihres lokalen Modells anstelle des RemoteUser zurück.

Wenn local_user.model auf null gesetzt ist (Standardeinstellung), ist die Synchronisierung deaktiviert, und das Paket verhält sich wie zuvor.

3. Eloquent-Modell erstellen

Das Paket liefert nur die Migration, um die Datenbanktabelle zu erstellen. Für das passende Eloquent-Modell sind Sie selbst verantwortlich. Es ist zwingend erforderlich, dass Ihr Modell die Illuminate\Contracts\Auth\Authenticatable-Schnittstelle implementiert.

Der einfachste Weg, dies zu erreichen, ist die Erweiterung der Basisklasse Illuminate\Foundation\Auth\User, wie im folgenden Beispiel gezeigt. Stellen Sie außerdem sicher, dass die Eigenschaften $fillable und $table korrekt gesetzt sind.

Hier ist ein Beispiel für ein App\Models\User-Modell:

Wichtige Hinweise:

Middleware registrieren

Um Routen zu schützen muss zuerst die Middleware registriert werden.

Datei:

bootstrap/app.php

Erweitern:

Geschützte Bereiche

Blade-Beispiele

Mit dem Paket funktionieren die Standard-Blade-Authentication-Mechanismen @auth und @guest

Interner Ablauf

  1. Benutzer öffnet /login
  2. Das Package sendet Credentials an AUTH_BASE_URL/api/login
  3. Auth-Server gibt ein Token zurück
  4. Token wird in der Client-Session gespeichert
  5. auth.remote Middleware ruft /api/validate des Auth-Servers auf
  6. Bei Erfolg: User-Daten werden geliefert
  7. RemoteGuard erstellt ein RemoteUser Objekt
  8. Laravel erkennt den Benutzer als angemeldet

Support

Bei Fragen, Ideen, Bugreports bitte melden.


All versions of sti-auth with dependencies

PHP Build Version
Package Version
No informations.
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package sti-bayern/sti-auth contains the following files

Loading the files please wait ...