Configurar la autenticación JWT en Drupal
La Autenticación de la API de Drupal El módulo utiliza tokens web JSON (JWT) para autenticar de forma segura las solicitudes de API. Primero, se verifican el nombre de usuario y la contraseña de Drupal para generar un token JWT firmado, que se devuelve al cliente. Este token permite acceder a las API de Drupal hasta su vencimiento. JWT admite los algoritmos HSA y RSA para firma y validación. Este módulo es totalmente compatible con Drupal 8, Drupal 9, Drupal 10 y Drupal 11.
- Usando el compositor
- Usando Drush
- Instalación manual
Pre-requisitos:
- Interfaz de usuario REST:Este módulo proporciona una interfaz fácil de usar para configurar el módulo REST.
- Habilite los siguientes módulos de Servicios Web desde el ampliar sección (/admin/modules) de su sitio Drupal:
- JSON: API
- Interfaz de usuario REST
- Servicios web RESTful
- Publicación por entregas
Habilitar API y asignar métodos:
- El primer paso es habilitar la API y asignar los métodos y operaciones permitidos para ella. Esto se puede hacer usando Interfaz de usuario REST módulo, o modificando directamente la configuración de Drupal.
- Haga clic en el elemento Habilitar API .
- Para habilitar la API mediante el módulo REST UI, haga clic en el icono Configurar botón (como se muestra a continuación).
- En nuestro ejemplo, necesitamos habilitar el /entidad/usuario API. Para ello, haga clic en la opción Habilitar que aparece frente a ella.
- Como nuestro objetivo es crear un usuario en Drupal, seleccione las siguientes configuraciones:
- Método: PUBLICAR
- Formato: JSON
- Proveedor de autenticación: autenticación de rest_api
- Esto permite que el módulo de autenticación de la API de miniOrange autentique la API. Haga clic en el botón Guardar configuración botón para continuar.
Pasos de configuración
1. Configurar el método de autenticación JWT:
- En este paso, configuraremos JWT como método de autenticación de la API. Para ello, vaya a Autenticación API pestaña del módulo (/admin/config/people/rest_api_authentication/auth_settings).
- En Configuración básica, habilita el Habilitar autenticación palanca.
- Escriba el Nombre de la aplicación y seleccione JWT del menú método de autentificación .
- Desplácese hacia abajo hasta la sección Configuración de JWT sección en la misma pestaña.
- En el campo Atributo de nombre de usuario, ingrese el nombre del atributo del JWT recibido que contiene el nombre de usuario de Drupal.
- Seleccione Algoritmo de firma desde el desplegable.
- Opcional: Ingrese la duración de vencimiento deseada (en minutos) en Tiempo de expiración del token.
- URL de JWKS: Si desea utilizar un token JWT externo, proporcione el URI JWKS para validarlo en Drupal.
- Certificado/Clave secreta: Proporcione un certificado si se selecciona RS256, o una clave secreta si se selecciona HS256.
- Llave privada: Ingrese la clave privada para JWT o genere una nueva clave.
- Clave pública: Ingrese la clave pública para JWT o genere una nueva clave.
- Haga clic en el botón Guardar configuración .
- Ha configurado exitosamente el método de autenticación JWT.
- Primero, debemos realizar una llamada a la API para obtener un JWT. Luego, usaremos ese token para autenticar la API de Drupal y crear un usuario.
- Podemos obtener el JWT mediante una solicitud POST que contenga el nombre de usuario y la contraseña de Drupal del usuario. Debe enviar el nombre de usuario y la contraseña en formato base64. Puede consultar el siguiente formato de solicitud como referencia.
Para JWT externo:
Generar claves personalizadas:
Nota: Puede introducir las claves manualmente o generarlas. Estas claves se utilizarán para firmar y verificar los tokens JWT.
Nota: Utilice el encabezado único específico de la aplicación al autenticar la API.
Solicitud: POST /rest_api/id_token Encabezado: Aceptar: aplicación/json Autorización: Base64 codificada básica Formato de solicitud CURL: curl --location --request POST ' /rest_api/id_token' \ --header 'Aceptar: application/json' \ --header 'Tipo de contenido: application/json' \ --header 'Autorización: Base64 codificada básica '
- Una respuesta exitosa devuelve el JWT junto con la expiración de su token. (consulte la imagen a continuación)
2. Ejemplo:
- Para una mejor comprensión, veamos un ejemplo de uso del token JWT para crear un usuario en Drupal con la API REST.
- Para crear un usuario en Drupal, debe realizar una solicitud POST utilizando el JWT recibido o el JWT externo como token portador en el encabezado de autorización. Consulte el ejemplo a continuación para realizar la llamada.
Nota: La API /entity/user en Drupal se utiliza para crear un nuevo usuario.
Formato de solicitud HTML - Solicitud: POST /entity/user?_format=json Encabezado: AUTH-METHOD: application_id Aceptar: application/json Tipo de contenido: application/json Autorización: Bearer received_JWT Cuerpo: { "nombre": { "valor": " " }, "mail": { "valor": " " }, "pass": { "valor": " " }, "estado": { "valor": "1" } } Formato de solicitud CURL: curl --location --request POST ' /entity/user?_format=json' \ --header 'MÉTODO DE AUTENTICACIÓN: application_id' \ --header 'Aceptar: application/json' \ --header 'Tipo de contenido: application/json' \ --header 'Autorización: Autorización: Portador ' \ --data-raw ' { "nombre": [ { "valor": "Nombre de usuario" } ], "correo": [ { "valor": "correo electrónico" } ], "contraseña": [ { "valor": "Contraseña" } ], "estado": [ { "valor": "1" } ] }
- Una respuesta exitosa devolverá los detalles del usuario que usted creó (ver la imagen a continuación).
¡Felicitaciones! Has configurado correctamente el método de autenticación JWT mediante el módulo de autenticación de la API de Drupal.
Si la configuración no fue exitosa, por favor contáctenos en drupalsupport@xecurify.comIncluya una captura de pantalla de la ventana de error y le ayudaremos a resolver el problema y le guiaremos en la configuración.
Gracias por su respuesta. Nos pondremos en contacto con usted pronto.
Algo salió mal. Por favor envíe su consulta nuevamente
