Configurar la autenticación mediante clave API en Drupal
La autenticación mediante clave API ofrece una forma sencilla y eficaz de proteger las API de Drupal. Tras generar claves API para los usuarios, estas actúan como identificadores únicos que ayudan a gestionar y proteger el acceso a las API de Drupal. Para la autenticación, el cliente debe enviar el nombre de usuario de Drupal del usuario junto con su clave API en el encabezado de autorización de cada solicitud. Autenticación de la API de Drupal El módulo verifica esta combinación antes de conceder acceso. El módulo es compatible con Drupal 8, 9, 10 y 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 de clave API:
- En este paso, generaremos una clave API. Para ello, dirígete a Autenticación API pestaña del módulo (/admin/config/people/rest_api_authentication/auth_settings).
- En sección Configuración básica, habilita el Habilitar autenticación palanca.
- Escriba el Nombre de la aplicación y seleccione API Key de la método de autentificación .
- Desplácese hacia abajo hasta la sección Configuración de la clave API sección en la misma pestaña.
- Seleccione el tipo de autenticación en el menú desplegable.
- En el estilo de Introduzca su nombre de usuario En el campo de texto, escriba el nombre de usuario para el que desea generar la clave API y luego haga clic en el botón Generar .
- Una vez generada la clave API, haga clic en el botón Guardar configuración botón en la parte inferior de la página.
- Haga clic en el botón Guardar configuración .
- Si desea generar una clave para todos los usuarios, haga clic en el botón Generar clave para todos los usuarios .
Nota: Esta es una función premium. En la versión gratuita del módulo, la autenticación se gestiona mediante una clave universal.
- Ha configurado exitosamente el método de autenticación de clave API.
Nota: Utilice el encabezado único específico de la aplicación al autenticar la API.
- Ahora puede ver la clave API generada en el API Key campo de su perfil de usuario.
- Si desea que los usuarios finales también generen su clave API, la administración de claves API estará disponible para ellos si habilita el permiso como se muestra en la imagen.
Otorgar permisos de rol para crear usuarios
- Si es necesario, puede permitir que los roles de Drupal que no son administradores creen usuarios. Para ello, asigne el permiso "Administrar usuarios" a los roles deseados desde la página "Permisos" (/admin/people/permissions) de su sitio Drupal.
2. Ejemplo:
- Para una mejor comprensión, veamos un ejemplo del uso de la autenticación basada en claves API con la API de creación de usuarios en Drupal.
- Para crear un usuario en Drupal, debe realizar una solicitud POST con su nombre de usuario de Drupal y la clave API emitida por el módulo de autenticación de la API REST de miniOrange. El nombre de usuario y la clave API deben estar codificados en formato Base64. Consulte el siguiente ejemplo para realizar la llamada.
- También puedes consultar la imagen de solicitud de Cartero que se muestra a continuación.
Nota: La API /entity/user en Drupal se utiliza para crear un nuevo usuario.
Formato de solicitud HTML-
Solicitud: POST /entidad/usuario?_formato=json
Encabezamiento:
MÉTODO DE AUTENTICACIÓN: application_id
Aceptar: aplicación / json
Tipo de contenido: application / json
CLAVE API: codificada en base64
(El valor debe estar codificado en Base64 con el formato: nombre de usuario:clave-api.)
Cuerpo:
{
"nombre": {
"valor": " "
},
"correo": {
"valor": " "
},
"aprobar": {
"valor": " "
},
"estado": {
"valor": "1"
}
}
Formato de solicitud CURL-
curl --location --request POST ' /entidad/usuario?_formato=json' \
--encabezado 'MÉTODO DE AUTENTICACIÓN: application_id' \
--encabezado 'Accept: application/json' \
--header 'Tipo de contenido: aplicación/json' \
--encabezado 'Autorización: Codificación en base64 básica ' \
--data-raw '
{
"nombre": [
{ "value": "Nombre de usuario" }
],
"correo": [
{ "value": "email" }
],
"aprobar": [
{ "value": "Contraseña" }
],
"estado": [
{ "value": "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 de clave API mediante el módulo de autenticación de API de Drupal.
Si la configuración no fue exitosa, por favor contáctenos en [email protected]Incluya una captura de pantalla de la ventana de error y le ayudaremos a resolver el problema y le guiaremos en la configuración.
