Das Modul authentifiziert einen Webdienstaufruf anhand von Drupal-Konten.
- Aktivieren Sie das Modul
- Richten Sie einen Drupal-Benutzer ein
- Führen Sie den Webdienstaufruf mit den Anmeldeinformationen des Benutzers durch.
Beachten Sie, dass mit der Basisauthentifizierung der Berechtigungsnachweis abgefangen werden kann, wenn SSL nicht verwendet wird.
Das Modul verwendet die Standard- PHP-Authentifizierungsheader und sendet das Standard-Drupal-Anmeldeformular, ohne nach bestimmten Rollen oder Berechtigungen zu suchen. So wird jeder Drupal-Benutzer arbeiten.
Führen Sie einen Test-Webdienst- Anruf mit curl oder wget durch, um ihn zu testen. Es gibt auch Anweisungen zum Aufrufen mit PHP im Anruf mit Curl Stackoverflow-Antwort.
Das obige Modul wird zum Authentifizieren von Dienstanrufen mithilfe der Standardzugriffsauthentifizierungstechnik verwendet. Sie verwenden Ihren Drupal-Benutzernamen und Ihr Kennwort, um Dienstanrufe zu authentifizieren, indem Sie dem Dienstanruf den Autorisierungsheader wie folgt hinzufügen
Wenn der Benutzeragent die Anmeldeinformationen für die Serverauthentifizierung senden möchte, verwendet er möglicherweise den Autorisierungsheader.
Der Autorisierungsheader ist wie folgt aufgebaut:
Zum Beispiel unten ist der Aufruf mit curl ..
quelle
Wählen Sie Ihren Endpunkt aus und klicken Sie auf Bearbeiten
Verwenden Sie ein Tool wie https://addons.mozilla.org/fr/firefox/addon/restclient/ , um Ihren Client zu testen:
Hinweis: Ich hatte Probleme damit, obwohl die Option HTTP-Basisauthentifizierung markiert war und beim Aufrufen einer Ressource dieses Endpunkts 200 anstelle von 401 zurückgegeben wurde . Das heißt, das Modul konnte meinen Endpunkt nicht sichern.
Das Problem tritt auf in:
Ich habe es mit einem Patch für das Modul gelöst:
https://www.drupal.org/node/2734207
quelle
Was kann falsch sein: Nachdem Sie alle Einstellungen vorgenommen haben:
Und wenn Sie die Berechtigung "Veröffentlichten Inhalt anzeigen" nicht deaktivieren, kann jeder Benutzer auf den Endpunkt der Service-API mit dem zurückgegebenen Ergebnis zugreifen.
quelle
Services Basic Authentication
Gehen Sie nach der Installation des Moduls zu den REST-Einstellungen Ihres Servers:/admin/structure/services
Geben Sie die
Edit
Option ein und unten befindet sich ein Kontrollkästchen:HTTP basic authentication
Aktivieren Sie es und klicken Sie auf die Schaltfläche Speichern.
quelle
Vergessen Sie nicht, das Inhaltszugriffsmodul zu verwenden.
Hinzufügen zusätzlicher Details pro MPD-Anfrage.
Wenn Sie das Inhaltszugriffsmodul nicht verwenden, sieht der Benutzer alle Inhalte, einschließlich der von anderen erstellten Inhalte, die er eigentlich nicht sehen sollte. Beispielsweise hat Benutzer A persönliche Daten gespeichert, die Benutzer B nicht sehen soll oder umgekehrt. Das Modul "Services Basic Authentication" aktiviert die Authentifizierung, erzwingt jedoch nicht den Zugriff auf Inhalte. Das Content Access-Modul erzwingt dies. Wenn Sie die Inhaltszugriffskontrolle nicht verwenden, macht es keinen Sinn, einen Benutzer zu authentifizieren.
quelle