Konfigurera JWT-autentisering i Drupal
Ocuco-landskapet Drupal API-autentisering Modulen använder JSON Web Tokens (JWT) för att säkert autentisera API-förfrågningar. Först verifieras ditt Drupal-användarnamn och lösenord för att generera en signerad JWT-token, som sedan returneras till klienten. Denna token kan användas för att komma åt Drupal API:er tills den upphör att gälla. JWT stöder både HSA- och RSA-algoritmer för signering och validering. Denna modul är helt kompatibel med Drupal 8, Drupal 9, Drupal 10 och Drupal 11.
- Använder Composer
- Använder Drush
- Manuell installation
Förutsättningar:
- REST-gränssnittDen här modulen tillhandahåller ett användarvänligt gränssnitt för att konfigurera REST-modulen.
- Aktivera följande webbtjänstmoduler från Förläng avsnittet (/admin/modules) på din Drupal-webbplats:
- JSON:API
- REST-gränssnitt
- RESTful webbtjänster
- serialisering
Aktivera API och tilldela metoder:
- Det första steget är att aktivera API:et och tilldela de metoder och operationer som är tillåtna för det API:et. Detta kan göras med hjälp av REST-gränssnitt modulen, eller genom att direkt ändra Drupal-konfigurationen.
- Klicka på Aktivera API knapp.
- För att aktivera API:et med hjälp av REST UI-modulen, klicka på Inställd knappen (som visas nedan).
- I vårt exempel behöver vi aktivera /enhet/användare API. För att göra detta, klicka på alternativet Aktivera framför det.
- Eftersom vårt mål är att skapa en användare i Drupal, välj följande konfigurationer:
- Metod: POST
- Format: JSON
- Autentiseringsleverantör: rest_api_authentication
- Detta gör att miniOrange API-autentiseringsmodulen kan autentisera API:et. Klicka på Spara konfiguration knappen för att fortsätta.
Konfigurationssteg
1. Konfigurera JWT-autentiseringsmetod:
- I det här steget konfigurerar vi JWT som API-autentiseringsmetod. För att göra detta, gå till API-autentisering fliken i modulen (/admin/config/people/rest_api_authentication/auth_settings).
- Enligt Grundläggande konfiguration, aktivera Aktivera autentisering växla.
- Ange applikationsnamn och välj J.W.T. från Autentiseringsmetod sektion.
- Bläddra ner till JWT-konfiguration avsnitt på samma flik.
- I fältet Användarnamnsattribut anger du attributnamnet från den mottagna JWT-filen som innehåller Drupal-användarnamnet.
- Välja Signeringsalgoritm från rullgardinsmenyn.
- Valfritt: Ange önskad utgångstid (i minuter) under Utgångstid för token.
- JWKS-URI: Om du vill använda en extern JWT-token, ange JWKS URI:n för att validera den i Drupal.
- Certifikat/Hemlig nyckel: Ange ett certifikat om RS256 är valt, eller en hemlig nyckel om HS256 är valt.
- Privat nyckel: Ange den privata nyckeln för JWT, eller generera en ny nyckel.
- Offentlig nyckel: Ange den offentliga nyckeln för JWT, eller generera en ny nyckel.
- Klicka på Spara konfiguration knapp.
- Du har konfigurerat JWT-autentiseringsmetoden.
- Först måste vi göra ett API-anrop för att hämta en JWT. Vi använder sedan den token för att autentisera Drupal API för att skapa en användare.
- Vi kan hämta JWT:en genom att göra en POST-förfrågan som innehåller användarens Drupal-användarnamn och lösenord. Du måste skicka användarnamnet och lösenordet i base64-kodat format. Du kan använda nedanstående förfrågningsformat som referens.
För extern JWT:
Generera anpassade nycklar:
Obs: Du kan ange nycklarna manuellt eller generera nycklar. Dessa nycklar kommer att användas för att signera och verifiera JWT-tokens.
Obs: Använd den applikationsspecifika unika rubriken när du autentiserar API:et.
Begäran: POST /rest_api/id_token Rubrik: Acceptera: application/json Auktorisering: Grundläggande base64encoded CURL-förfrågningsformat - curl --location --request POST /rest_api/id_token' \ --header 'Acceptera: application/json' \ --header 'Innehållstyp: application/json' \ --header 'Auktorisering: Grundläggande base64encoded '
- Ett lyckat svar returnerar JWT tillsammans med dess tokens utgång. (se bilden nedan)
2. Exempel:
- För en bättre förståelse, låt oss titta på ett exempel på hur man använder JWT-token för att skapa en användare i Drupal med REST API:et.
- För att skapa en användare i Drupal måste du göra en POST-förfrågan med den mottagna JWT:n eller externa JWT:n som en Bearer-token i Authorization Header. Se exemplet nedan för att göra anropet.
Obs: API:et /entity/user i Drupal används för att skapa en ny användare.
HTML-förfrågningsformat - Begäran: POST /entity/user?_format=json Rubrik: AUT.METOD: application_id Acceptera: application/json Innehållstyp: application/json Auktorisering: Bärare received_JWT Brödtext: { "namn": { "värde": " "}, "post": { "värde": " "}, "pass": { "värde": " "}, "status": { "värde": "1" } } CURL-förfrågan Format- curl --location --request POST ' /entity/user?_format=json' \ --header 'AUT.METOD: applikations-id' \ --header 'Acceptera: applikation/json' \ --header 'Innehållstyp: applikation/json' \ --header 'Auktorisering: Auktorisering: Bärare ' \ --data-raw ' { "namn": [ { "värde": "Användarnamn" } ], "post": [ { "värde": "e-post" } ], "lösenord": [ { "värde": "Lösenord" } ], "status": [ { "värde": "1" } ] }
- Ett lyckat svar returnerar informationen om den användare du skapade (se bilden nedan).
Grattis! Du har konfigurerat JWT-autentiseringsmetoden med hjälp av Drupal API-autentiseringsmodulen.
Om konfigurationen inte lyckades, vänligen kontakta oss på drupalsupport@xecurify.comVänligen bifoga en skärmdump av felfönstret så hjälper vi dig att lösa problemet och guidar dig genom installationen.
Tack för ditt svar. Vi återkommer snart.
Något gick fel. Skicka din fråga igen
