|
|
# Authentifizierung
|
|
|
|
|
|
Die Authentifizierungs-API erlaubt es Modulen, QUIQQER mit eigenen Authentifizierungsmethoden zu erweitern. QUIQQER bietet schon einige Authentifizierungsmethoden von Haus aus an.
|
|
|
Die Authentifizierung-API erlaubt es Modulen, QUIQQER mit eigenen Authentifizierungsmethoden zu erweitern. QUIQQER bietet schon einige Authentifizierungsmethoden von Haus aus an.
|
|
|
|
|
|
- QUIQQER Standard Authentifizierung
|
|
|
- [QUIQQER Authentication with Google Authenticator](https://dev.quiqqer.com/quiqqer/authgoogle2fa)
|
... | ... | @@ -10,19 +10,18 @@ Die Authentifizierungs-API erlaubt es Modulen, QUIQQER mit eigenen Authentifizie |
|
|
|
|
|
![Authentifizierung](/uploads/d866cd3daed5409a9d53f6f59f6b5653/Authentifizierung.png)
|
|
|
|
|
|
|
|
|
## Neuer Authenticator realisieren
|
|
|
|
|
|
Ein Authenticator ist eine Authentifzierungsklasse welche einen Benutzer am QUIQQER System über externe Services anmeldet.
|
|
|
Ein Authenticator ist eine Authentifizierungsklasse welche einen Benutzer am QUIQQER System über externe Services anmeldet.
|
|
|
|
|
|
**Vorgehensweise:**
|
|
|
|
|
|
1. Authenticator Provider registrieren
|
|
|
2. Authenticator Provider realisieren
|
|
|
|
|
|
### Authenticator Provider registrieren
|
|
|
### Authenticator Provider registrieren
|
|
|
|
|
|
Erweitern Sie die [package.xml](/Package-Xml) um einen `<auth>` Provider Eintrag. Das `src` Attribut gibt an, wie Ihr neuer Authenticator aufgerufen werden kann.
|
|
|
Erweitern Sie die [package.xml](/Package-Xml) um einen `<auth>` Provider Eintrag. Das `src` Attribut gibt an, wie Ihr neuer Authenticator aufgerufen werden kann.
|
|
|
|
|
|
```xml
|
|
|
<quiqqer>
|
... | ... | @@ -85,7 +84,7 @@ class MyAuthenticator extends QUI\Users\AbstractAuthenticator |
|
|
}
|
|
|
```
|
|
|
|
|
|
Dem Konstruktur wird zu Anfang der Benutzername übergeben welche sich am System anmelden möchten über die `auth` Methode wird der Benutzer am System authentifiziert. Diese zwei Methoden bilden das grundsätzliche Vorgehen für den Authentifizierungsprozesses.
|
|
|
Dem Konstruktor wird zu Anfang der Benutzername übergeben welche sich am System anmelden möchten über die `auth` Methode wird der Benutzer am System authentifiziert. Diese zwei Methoden bilden das grundsätzliche Vorgehen für den Authentifizierungsprozesses.
|
|
|
|
|
|
Ist der Authentifizierungsprozesses nicht erfolgreich muss die `auth` methode ein Exception vom Typ `QUI\Users\Exception` werfen.
|
|
|
|
... | ... | @@ -128,7 +127,6 @@ Hierzu können folgende Methoden im eigenen Authenticator überschrieben werden: |
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
#### Beispiel für ein eigenes Login
|
|
|
|
|
|
```php
|
... | ... | @@ -181,13 +179,13 @@ class QUIQQER extends AbstractAuthenticator |
|
|
- [Login Control HTML](https://dev.quiqqer.com/quiqqer/quiqqer/blob/dev/lib/QUI/Users/Auth/Controls/QUIQQERLogin.html)
|
|
|
|
|
|
Das Login Control von QUIQQER ist ein einfaches Beispiel wie ein normale Login über Benutzername und Passwort realisiert werden kann.
|
|
|
Möchten Sie einen Authenticator realisieren welche keine standard Benutzername / Passwort Authentifizierung hat, geht dies mit Hilfe von JavaScript etwas einfacher, zum Beispiel über einen Socialmedia Login.
|
|
|
Möchten Sie einen Authenticator realisieren welche keine standard Benutzername / Passwort Authentifizierung hat, geht dies mit Hilfe von JavaScript etwas einfacher, zum Beispiel über einen Social-Media Login.
|
|
|
|
|
|
Das [Facebook Login Control](https://dev.quiqqer.com/quiqqer/authfacebook/blob/dev/src/QUI/Auth/Facebook/Controls/Login.html) bindet ein JavaScript Control ein, welches die Authentifizierung über Facebook erledigt und gibt die [Facebook Anmeldeinformationen weiter an QUIQQER](https://dev.quiqqer.com/quiqqer/authfacebook/blob/dev/bin/controls/Login.js#L107).
|
|
|
|
|
|
### CLI Authentifizierung
|
|
|
|
|
|
Ein Authenticator kann bestimmen, ob ein Anmelden über die QUIQQER CLI Konsole möglich ist. Generell sind Authenticator nicht CLI fähig, dies muss der Authenticator speziell mitteilen. CLI fähige Authenticator sind zum Beispiel die Standard QUIQQER Anmeldung oder der Google Auhtenticator.
|
|
|
Ein Authenticator kann bestimmen, ob ein Anmelden über die QUIQQER CLI Konsole möglich ist. Generell sind Authenticator nicht CLI fähig, dies muss der Authenticator speziell mitteilen. CLI fähige Authenticator sind zum Beispiel die Standard QUIQQER Anmeldung oder der Google Authenticator.
|
|
|
|
|
|
Ein Authenticator ist CLI fähig wenn er über die Methode `isCLICompatible` true zurück gibt. Über die Methode `cliAuthentication` muss dieser dann die Anmeldung in der CLI tätigen.
|
|
|
|
... | ... | |