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