Einführung
Zur Authentifizierung wird das Oauth2 Protokoll verwendet, welches ein standardisiertes Vorgehen zur Authentifizierung gegenüber Diensten vorgibt. Die brandbox-Implementierung basiert auf dem Oauth2-Server von "The PHP League" und bietet daher grundsätzlich folgende Möglichkeiten für eine Authentifikation:
- Passwort: Authentifizierung auf Benutzerebene mittels Benutzername und Passwort in einem Client-Scope
- Client: Authentifizierung auf Clientebene mittels Client-ID und einem Client-Geheimnis (nicht implementiert)
- Authorisierungscode: Authentifizierung über einen externen Oauth2 Provider, zum Beispiel Login über Facebook (nicht implementiert)
- Implizit: Analog zum Authorization Code mit leichten Abweichungen für Frontend-lastige Implementierungen (nicht implementiert)
Der Zugriffstoken der aus den oben genannten Verfahren gewonnen wird hat nur eine beschränkte Gültigkeit. Um Schnittstellen-Konsumenten langfristigen Zugriff zu gewähren, kann der Token aktualisiert und somit verlängert werden, siehe auch Refresh token grant.
Konfiguration
Folgende Konfigurationsoptionen werden aktuell für die Authentifizierung bereit gestellt:
- Lebenszeit des Zugriffstokens
- Lebenszeit des Aktualisierungstoken
- Lebenszeit des Links für einen Brandbox-Backend-Login
- RSA Public und Private Key werden automatisch generiert
- Verschlüsselungskey (Salt für die RSA Verschlüsselung) bedient sich der globalen Brandbox Einstellung