Einrichten der API-Schlüsselauthentifizierung in Drupal
Die API-Schlüsselauthentifizierung bietet eine einfache und effektive Möglichkeit, Drupal-APIs zu sichern. Nach der Generierung von API-Schlüsseln für Benutzer dienen diese als eindeutige Kennungen, die den Zugriff auf Ihre Drupal-APIs verwalten und sichern. Zur Authentifizierung muss der Client den Drupal-Benutzernamen des Benutzers zusammen mit seinem API-Schlüssel im Autorisierungsheader jeder Anfrage senden. Die Drupal API-Authentifizierung Das Modul überprüft diese Kombination, bevor es Zugriff gewährt. Das Modul unterstützt Drupal 8, 9, 10 und 11.
- Verwenden von Composer
- Mit Drush
- Manuelle Installation
Voraussetzungen:
- REST DES TAGES: Dieses Modul bietet eine benutzerfreundliche Schnittstelle zur Konfiguration des REST-Moduls.
- Aktivieren Sie die folgenden Webdienstmodule aus dem Erweitern Abschnitt (/admin/modules) Ihrer Drupal-Site:
- JSON: API
- REST DES TAGES
- RESTful-Webdienste
- Serialisierung
API aktivieren und Methoden zuweisen:
- Der erste Schritt besteht darin, die API zu aktivieren und die für diese API zulässigen Methoden und Operationen zuzuweisen. Dies kann mithilfe der REST DES TAGES Modul oder durch direkte Änderung der Drupal-Konfiguration.
- Klicken Sie auf API aktivieren .
- Um die API mithilfe des REST-UI-Moduls zu aktivieren, klicken Sie auf das Einrichtung Schaltfläche (wie unten gezeigt).
- In unserem Beispiel müssen wir die /Entität/Benutzer API. Klicken Sie dazu davor auf die Option Aktivieren.
- Da unser Ziel darin besteht, einen Benutzer in Drupal zu erstellen, wählen Sie die folgenden Konfigurationen aus:
- Anleitung: jetzt lesen
- Format: JSON
- Authentifizierungsanbieter: rest_api_authentication
- Dadurch kann das miniOrange API-Authentifizierungsmodul die API authentifizieren. Klicken Sie auf das Konfiguration speichern um fortzufahren.
Konfigurationsschritte
1. API-Schlüssel-Authentifizierungsmethode einrichten:
- In diesem Schritt generieren wir einen API-Schlüssel. Navigieren Sie dazu zum API-Authentifizierung Registerkarte des Moduls (/admin/config/people/rest_api_authentication/auth_settings).
- Der Grundlegende Einstellung, aktivieren Sie die Aktivieren Sie die Authentifizierung Umschalten.
- Geben Sie die Anwendungsname und wählen Sie API-Schlüssel von dem Authentifizierungsmethode .
- Scrollen Sie nach unten zum API-Schlüsselkonfiguration Abschnitt auf derselben Registerkarte.
- Wählen Sie den Authentifizierungstyp aus der Dropdown-Liste aus.
- Im Benutzername eingeben Geben Sie den Benutzernamen ein, für den Sie den API-Schlüssel generieren möchten, und klicken Sie dann auf das Generieren .
- Sobald der API-Schlüssel generiert wurde, klicken Sie auf das Konfiguration speichern Schaltfläche unten auf der Seite.
- Klicken Sie auf die Konfiguration speichern .
- Wenn Sie einen Schlüssel für alle Benutzer generieren möchten, klicken Sie auf das Schlüssel für alle Benutzer generieren .
Hinweis: Dies ist eine Premium-Funktion. In der kostenlosen Version des Moduls erfolgt die Authentifizierung über einen universellen Schlüssel.
- Sie haben die API-Schlüsselauthentifizierungsmethode erfolgreich konfiguriert.
Hinweis: Verwenden Sie bei der Authentifizierung der API den anwendungsspezifischen eindeutigen Header.
- Sie können den generierten API-Schlüssel nun im API-Schlüssel Feld Ihres Benutzerprofils.
- Wenn Sie möchten, dass Endbenutzer auch ihren API-Schlüssel selbst generieren, steht ihnen die API-Schlüsselverwaltung zur Verfügung, wenn Sie die entsprechende Berechtigung wie im Bild gezeigt aktivieren.
Erteilen von Rollenberechtigungen zum Erstellen von Benutzern
- Bei Bedarf können Sie auch Nicht-Administratoren in Drupal die Berechtigung zum Erstellen von Benutzern erteilen. Weisen Sie dazu den gewünschten Rollen auf der Berechtigungsseite (/admin/people/permissions) Ihrer Drupal-Website die Berechtigung „Benutzer verwalten“ zu.
2. Beispiel:
- Zum besseren Verständnis betrachten wir als Beispiel die Verwendung der API-Schlüssel-basierten Authentifizierung mit der Benutzererstellungs-API in Drupal.
- Um einen Benutzer in Drupal zu erstellen, müssen Sie eine POST-Anfrage mit dem Drupal-Benutzernamen des Benutzers und dem vom miniOrange REST API-Authentifizierungsmodul ausgegebenen API-Schlüssel stellen. Benutzername und API-Schlüssel müssen im Base64-Format kodiert sein. Beachten Sie das folgende Beispiel, um den Aufruf durchzuführen.
- Sie können sich auch auf das unten gezeigte Postman-Anforderungsbild beziehen.
Hinweis: Die /entity/user-API in Drupal wird zum Erstellen eines neuen Benutzers verwendet.
HTML-Anfrageformat-
Anfrage: POST /entity/user?_format=json
Header:
AUTH-METHODE: application_id
Akzeptieren: application/json
Inhaltstyp: Anwendung / json
API-Schlüssel: base64-kodiert
(Der Wert sollte Base64-kodiert sein im Format: Benutzername:API-Schlüssel.)
Karosserie:
{
"Name": {
"Wert": " "
},
"mail": {
"Wert": " "
},
"passieren": {
"Wert": " "
},
"Status": {
"Wert": "1"
}
}
CURL-Anforderungsformat-
curl --location --request POST ' /entity/user?_format=json' \
--header 'AUTH-METHOD: application_id' \
--header 'Accept: application/json' \
--header 'Inhaltstyp: application/json' \
--header 'Authorization: Basic base64encoded ' \
--data-raw '
{
"Name": [
{ "value": "Benutzername" }
],
"E-Mail": [
{ "value": "email" }
],
"passieren": [
{ "value": "Passwort" }
],
"Status": [
{ "value": "1" }
]
}
- Bei einer erfolgreichen Antwort werden die Details des von Ihnen erstellten Benutzers zurückgegeben (siehe Abbildung unten).
Herzlichen Glückwunsch! Sie haben die API-Schlüsselauthentifizierungsmethode mithilfe des Drupal-API-Authentifizierungsmoduls erfolgreich eingerichtet.
Wenn die Konfiguration nicht erfolgreich war, kontaktieren Sie uns bitte unter [email protected]. Bitte fügen Sie einen Screenshot des Fehlerfensters bei. Wir helfen Ihnen dann bei der Lösung des Problems und führen Sie durch die Einrichtung.
