Suchergebnisse :

×

Drupal REST API-Authentifizierung


In diesem Dokument führen wir Sie durch die Schritte zum Konfigurieren und Verwenden der einzelnen Authentifizierungsmethoden, die wir im miniOrange REST API-Authentifizierungsmodul bereitstellen. Dieses Modul unterstützt sowohl die REST sowie JSON-API Module.

Sie können unsere ausführliche Einrichtungsanleitung für alle Authentifizierungsmethoden über den folgenden Link einsehen: API-Authentifizierungsanleitung.

Wenn Sie weitere benutzerdefinierte APIs haben, die unser Modul unterstützen soll, oder falls Sie Hilfe benötigen, können Sie sich gerne an uns wenden unter drupalsupport@xecurify.com Bitte klicken Sie hier, um die vollständige Funktion anzuzeigen Liste.

1. Basisauthentifizierung

  • Die Standardauthentifizierung ist ein einfacher Authentifizierungsmechanismus, bei dem der Client seine Anmeldeinformationen zum Schutz der Drupal-APIs verwenden kann. Um eine API mit dieser Authentifizierungsmethode verwenden zu können, müssen Sie eine Anfrage mit Ihrem Base64-codierten Benutzernamen und Passwort im Authorization-Header senden.
  • Um diese Methode auszuwählen, klicken Sie auf Basic Authentication aus dem Modul wie unten gezeigt:
  • Drupal API-Authentifizierung: Wählen Sie die grundlegende Authentifizierungsmethode aus
  • Um Knoteninformationen in Drupal zu erhalten, müssen Sie eine GET-Anfrage zusammen mit dem Drupal-Benutzernamen und dem Passwort des Benutzers stellen. Der Wert des Benutzernamens und des Passworts muss im Base64-codierten Format vorliegen. Sie können das folgende Format verwenden, um einen Anruf zu tätigen.
  • 
                 Request: GET <your_drupal_base_url>/node/{node}?_format=json
                 Header: 
                        Authorization: Basic base64encoded <username:api_key>
                        Accept: application/json 
                        Content-Type: application/json
                 
                 Sample curl Request Format-
                 --location --request GET '<your_drupal_base_url>/node/1?_format=json' \
                 --header 'Accept: application/json' \
                 --header 'Content-Type: application/json' \
                 --header 'Authorization: Basic base64encoded <username:API key’> \
                
  • Ihre Anfrage sollte die Header- und Body-Parameter wie folgt haben:
  • Sendeantwort für die Drupal-API-Authentifizierung
  • Eine erfolgreiche Antwort würde so aussehen:
  • Antwort der Drupal-API-Authentifizierung

    2. API-Schlüsselauthentifizierung

    • Die API-Schlüsselauthentifizierung ist eine der einfachsten Methoden zum Schutz von Drupal-REST-APIs. Sobald Sie API-Schlüssel für alle Ihre Benutzer generiert haben, können Sie diese Schlüssel verwenden, um den Zugriff auf Ihre Drupal-REST-APIs zu sichern.
    • Um den API-Schlüssel als API-Authentifizierungsmethode einzurichten, navigieren Sie bitte zu API-Authentifizierung Registerkarte des REST-API-Authentifizierungsmoduls (/admin/config/people/rest_api_authentication/auth_settings).
    • Wähle aus Aktivieren Sie das Kontrollkästchen Authentifizierung und klicken Sie auf Speichern Sie die oben genannten Einstellungen .
    • Um die API-Schlüsselbasierte Authentifizierung zu aktivieren, wählen Sie das Optionsfeld „API-Schlüssel“ aus.
    • Auf demselben Bildschirm können Sie den API-Schlüssel für einen bestimmten Benutzer oder den API-Schlüssel für alle Benutzer gleichzeitig generieren.
    • Drupal selectAPI-Authentifizierung
    • Sie müssten ein Benutzerattribut für das Feld API-Schlüssel erstellen. Sie können verweisen fehlen uns die Worte. Link zum Erstellen eines Feld-API-Schlüssels.
    • Um das näher zu erläutern, nehmen wir ein Beispiel für die Erstellung eines Benutzers in Drupal
    • Um einen Benutzer in Drupal zu erstellen, muss eine POST-Anfrage mit dem Benutzernamen des Benutzers und einem API-Schlüssel gestellt werden, der vom miniOrange REST API-Authentifizierungsmodul bereitgestellt wird. Der Benutzername und der API-Schlüssel sollten in Base64 codiert sein. Verwenden Sie das folgende Format als Referenz für den Aufruf:
    • 
                   Request: POST <your_drupal_base_url>/entity/user?_format=json
                   Header: 
                          Authorization: Basic base64encoded <username:api_key>
                          Accept: application/json 
                          Content-Type: application/json
                   Body:
                   
                      {
                       "name": [
                               {"value": "username"}
                         ],
                       "mail": [
                               {"value": "email"}
                         ],
                       "pass": [
                               {"value": "password"}
                         ],
                      "status":[
                               {"value": "1"}
                         ]
                     }
       
                   Sample curl Request Format-
                   --location --request POST '<your_drupal_base_url>/entity/user?_format=json' \
                   --header 'Accept: application/json' \
                   --header 'Content-Type: application/json' \
                   --header 'Authorization: Basic base64encoded’ \
                   --data-raw   '   
                     {
                       "name": [
                           {"value": "Username"}
                         ],
                       "mail": [
                           {"value": "email"}
                         ],
                       "pass":[
                           {"value": "Password"}
                         ],
                       "status":[
                           {"value": "1"
                     }
                       ]
                      
               
                  
    • Ihre Anfrage sollte die Header- und Body-Parameter wie folgt haben:
    • Sendeantwort der Drupal REST API
    • Eine erfolgreiche Antwort würde so aussehen:
    • Antwort der Drupal-REST-API-Authentifizierung

    3. JWT-Authentifizierung

    • JSON Web Token (JWT) ist eine sichere Möglichkeit, die Identität eines Benutzers während einer Zwei-Parteien-Interaktion darzustellen. Zunächst werden die Anmeldeinformationen Ihrer Drupal-Site verwendet, um zunächst ein JWT-Token zu erhalten. Nach der Überprüfung des Benutzernamens und Passworts erstellt das Drupal REST API-Authentifizierungsmodul ein signiertes JWT-Token, das für nachfolgende API-Anfragen an die Clientanwendung zurückgesendet wird.
    • Dieses Token wird verwendet, um die Vorgänge in Drupal auszuführen, bis es abläuft. Das Drupal REST API-Authentifizierungsmodul gewährt Zugriff nur, wenn es ein gültiges JWT von der Anwendung erhält.
    • Um JWT als API-Authentifizierungsmethode einzurichten, navigieren Sie bitte zu API-Authentifizierung Registerkarte des REST-API-Authentifizierungsmoduls (/admin/config/people/rest_api_authentication/auth_settings).
    • Wähle aus Aktivieren Sie das Kontrollkästchen Authentifizierung und klicken Sie auf Speichern Sie die oben genannten Einstellungen .
    • Wählen Sie unter der Schaltfläche „Einstellungen oben speichern“ das Optionsfeld „JWT“ aus. Geben Sie im Textfeld „Benutzernamensattribut“ den Attributnamen ein, in dem Ihr Benutzername empfangen wird.
    • Klicken Sie abschließend auf Speichern Sie die JWT-Konfiguration .
    • Um ein extern erstelltes JWT-Token zur Authentifizierung zu verwenden, können Sie die folgenden Optionen konfigurieren:
  • Geben Sie im Textfeld „Benutzernamensattribut“ den Attributnamen ein, in dem Ihr Benutzername empfangen wird.
  • Wenn Sie ein externes JWT-Token verwenden möchten, können Sie auch die JWKS-URL angeben, um dieses Token in Drupal zu validieren.
    Drupal wählt die JWT-Token-Methode aus
  • Betrachten wir das folgende Beispiel: Wir müssen eine API-Anfrage initiieren, um ein JWT zu erhalten. Anschließend werden wir das Token nutzen, um die Drupal-API zu authentifizieren und eine Basisseite zu erstellen.
  • Um das JWT zu erhalten, müssen wir eine POST-Abfrage senden, die die Drupal-Anmeldeinformationen des Benutzers enthält. Der Benutzername und das Passwort müssen in einem Base64-codierten Format gesendet werden. Der Einfachheit halber sehen Sie sich bitte das Format der Anfrage unten an.
  • 
                     Request: POST <your_drupal_base_url>/rest_api/id_token
                     Header: 
                            Authorization: Basic base64encoded <username:password;>
                            Accept: application/json
                     Sample curl Request Format-
                     --location --request POST "<your_drupal_base_url>/rest_api/id_token' \"
                     --header 'Accept: application/json'\
                     --header 'Content-Type: application/json' \
                     --header 'Authorization: Basic base64encoded’ \'
                 
  • Darüber hinaus können Sie sich das Bild der Postman-Anfrage zum Bezug des JWT von Drupal ansehen.
  • Drupal REST API JWT-Token-Endpunkt
  • Eine erfolgreiche Antwort gibt das JWT zusammen mit dem Ablauf seines Tokens zurück. (siehe Bild unten)
  • Drupal REST API-ID, JWT-Token erfolgreich
  • Informationen zur Authentifizierung der Drupal-REST-APIs mithilfe des empfangenen JWT finden Sie in der folgenden Anleitung: Authentifizieren Sie Drupal-REST-APIs.

4. OAuth 2.0-Authentifizierung

  • Um den Zugriff auf Drupal-Site-APIs über die REST-API zu authentifizieren, verwendet die OAuth 2.0-Methode den OAuth 2.0-Protokollfluss. Dazu müssen Sie ein Sicherheitszugriffstoken erhalten, das dann zur Authentifizierung des Zugriffs auf Ihre Drupal-Site verwendet wird. Die OAuth-Authentifizierungsmethode bietet ein hochverschlüsseltes und sicheres Zugriffstoken, das vollständige Sicherheit für Ihre Drupal-APIs gewährleistet. Es gilt als eine der sichersten Methoden zum Schutz Ihrer Drupal REST- oder JSONAPI-API-Endpunkte vor unbefugtem Zugriff.
  • Navigieren Sie zu der API-Authentifizierung Registerkarte des REST-API-Authentifizierungsmoduls (/admin/config/people/rest_api_authentication/auth_settings)
  • Wähle aus Aktivieren Sie das Kontrollkästchen Authentifizierung und klicken Sie auf Speichern Sie die oben genannten Einstellungen .
  • Wählen Sie unter der Schaltfläche „Einstellungen oben speichern“ das Optionsfeld „OAuth/Access Token“ aus.
  • Klicken Sie nun auf die Schaltfläche „Neue Client-ID und neues Geheimnis generieren“.
  • Drupal wählt die Zugriffstoken-Methode aus
  • Das miniOrange API-Authentifizierungsmodul unterstützt zwei Gewährungstypen, die zum Erhalten eines Zugriffstokens verwendet werden können:
  • Passwortgewährung: Bei diesem Gewährungstyp können Sie das Zugriffstoken erhalten, indem Sie eine POST-Anfrage senden, die den Drupal-Benutzernamen und das Passwort des Benutzers sowie die vom REST-API-Authentifizierungsmodul ausgegebene Client-ID enthält:
  • 
             Request: POST <drupal_base_url>/rest_api/access_token
             Body: 
                 grant_type = password
                 username   = drupal_username
                 password   = drupal_password 
                 client_id  = client_id
                 
             Sample curl Request Format-
             --location --request POST '<your_drupal_base_url>/rest_api/access_token' \
             --header 'Accept: application/json'\
             --header 'Content-Type: pplication/x-www-form-urlencoded' \
             --data-urlencode 'grant_type=password' \
             --data-urlencode 'client_id= ' \
             --data-urlencode 'username='\
             --data-urlencode 'password='
         
  • Sie können sich auch das Bild der Postman-Anfrage ansehen, um mithilfe der Passwortgewährung ein Zugriffstoken von Drupal zu erhalten.
  • Authentifizierungsanforderung für Drupal Access-Token
  • Eine erfolgreiche Antwort gibt das Zugriffstoken zusammen mit dem Token-Ablauf und dem Token-Typ zurück (siehe Abbildung unten).
  • Authentifizierungsanforderung für Drupal Access-Token
  • Gewährung von Kundenanmeldeinformationen: Bei dieser Gewährung können Sie das Zugriffstoken erhalten, indem Sie eine POST-Anfrage stellen, die die vom REST-API-Authentifizierungsmodul ausgegebene Client-ID und das Client-Geheimnis sowie den Drupal-Benutzernamen des Benutzers enthält.
  • 
         Request: POST <drupal_base_url>/rest_api/access_token
         Body: 
             grant_type  = client_credentials
             client_id   = client_id
            client_secret = client_secret
            Username      = drupal_username
             
         Sample curl Request Format-
         --location --request POST '<your_drupal_base_url>/rest_api/access_token' \
         --header  'Accept: application/json'\
         --header 'Content-Type: pplication/x-www-form-urlencoded' \
         --data-urlencode 'grant_type=client_credentials' \
         --data-urlencode 'client_id= <Client_ID>'\
         --data-urlencode 'username=<drupal_username>' \
         --data-urlencode 'client_secret=<Client_secret>'
     
  • Sie können sich auch das Bild der Postman-Anfrage ansehen, um mithilfe der Client Credentials Grant ein Zugriffstoken von Drupal zu erhalten.
  • Authentifizierungsanforderung für Drupal Access-Token
  • Eine erfolgreiche Antwort gibt das Zugriffstoken zusammen mit dem Token-Ablauf und dem Token-Typ zurück (siehe Abbildung unten).
  • Authentifizierungsanforderung für Drupal Access-Token
  • Führen Sie dazu einen API-Aufruf durch, um ein Zugriffstoken zu erhalten. Wir werden dies dann verwenden, um die Drupal-API zu authentifizieren, um die Informationen eines Benutzers abzurufen fehlen uns die Worte. Link.

5. Authentifizierung durch Drittanbieter

  • Um diese Methode zu implementieren, müssen Sie Token von Drittanbietern wie Google, Azure AD usw. erhalten. Mit diesen Token können Sie sicher auf die REST-APIs von Drupal zugreifen.
  • Um die Authentifizierung über einen externen Identitätsanbieter zu verwenden, müssen Sie das Modul konfigurieren, indem Sie den von Ihrem Identitätsanbieter bereitgestellten Benutzerinformationsendpunkt sowie das mit Ihrem Identitätsanbieter verknüpfte Benutzernamenattribut angeben. Nach der Konfiguration können Sie alle Drupal-API-Anfragen mithilfe des von Ihrem Anbieter bereitgestellten Tokens authentifizieren.
  • Navigieren Sie zu der API-Authentifizierung Registerkarte des REST-API-Authentifizierungsmoduls (/admin/config/people/rest_api_authentication/auth_settings)
  • Kreuzen Sie an Aktivieren Sie das Kontrollkästchen Authentifizierung und schlagen Speichern Sie die oben genannten Einstellungen .
  • Wählen Sie unter der Schaltfläche „Einstellungen oben speichern“ das Optionsfeld „Externer Identitätsanbieter“ aus.
  • Geben Sie im Textfeld „Benutzerinfo-Endpunkt“ den Benutzerinfo-Endpunkt für Ihren Identitätsanbieter ein. Dadurch kann das Modul die Benutzerinformationen mithilfe des bereitgestellten Tokens abrufen.
  • Geben Sie im Feld „Benutzernamensattribut“ den Attributschlüssel/Namen Ihres Identitätsanbieters ein, den der externe Anbieter zum Senden des Benutzernamens verwendet.
  • Drupal wählt die Authentifizierungsmethode eines Drittanbieters aus
  • Um einen Benutzer in Drupal zu erstellen, muss eine POST-Anfrage zusammen mit dem vom Identitätsanbieter erhaltenen Token gestellt werden.
  • 
             Request: POST <your_drupal_base_url>/entity/user?_format=json
             Header: 
                     Token: <Token_receievd_from_external_identity_provider>
                     Accept: application/jsonContent-Type: application/json
             Body:
             
                {
                  "name": [
                             {"value": "username"}
                     ],
                  "mail": [
                             {"value": "email"}
                     ],
                  "pass": [
                             {"value": "password"}
                     ],
                 "status": [
                             {"value": "1"}
                     ]
                }
          
             Sample curl Request Format-
             --location --request POST '<your_drupal_base_url>/entity/user?_format=json' \
             --header 'Accept: application/json' \
             --header 'Content-Type: application/json' \
             --header 'Token: ' \
             --data-raw   '   
              {
                 "name": [
                     {"value": "Username"}
                 ],
                 "mail": [
                     {"value": "email"}
                 ],
                 "pass": [
                     {"value": "Password"}
                 ],
                 "status": [
                     {"value": "1"}
                 ]
              }
     
             
  • Sie können sich auf das unten hinzugefügte Bild der Postman-Anfrage beziehen:
  • Drupal-Authentifizierungsanfrage für Dritte
  • Eine erfolgreiche Antwort gibt die erstellten Benutzerinformationen zurück –
  • Drupal-Drittanbieter-Authentifizierungsantwort

Aktiver Support rund um die Uhr

Wenn Sie auf Probleme stoßen oder Fragen haben, können Sie sich jederzeit an uns wenden drupalsupport@xecurify.com. Wenn Sie möchten, dass das Modul zusätzliche Funktionen enthält, nehmen Sie bitte Kontakt mit uns auf. Wir können diese dann individuell für Sie anfertigen. Wenn Sie möchten, können wir auch ein Online-Meeting vereinbaren, um Ihnen bei der Konfiguration des Drupal REST API-Authentifizierungsmoduls zu helfen.

Weitere Informationen

Unsere weiteren Module

Hallo!

Brauchen Sie Hilfe? Wir sind hier!

Support
Kontaktieren Sie den miniOrange-Support
Erfolg

Vielen Dank für Ihre Anfrage.

Wenn Sie innerhalb von 24 Stunden nichts von uns hören, können Sie gerne eine Folge-E-Mail an senden info@xecurify.com