Resultados de la búsqueda :

×

Autenticación de API REST de Drupal


En este documento, lo guiaremos a través de los pasos para configurar y utilizar cada uno de los métodos de autenticación que proporcionamos en el módulo de autenticación de API REST de miniOrange. Este módulo admite tanto el RESTO así como la API JSON módulos.

Puede consultar nuestra guía de configuración detallada para todos los métodos de autenticación a través del siguiente enlace: Guía de autenticación API.

Si tiene otras API personalizadas que le gustaría que admitiera nuestro módulo o en caso de que necesite algún tipo de ayuda, no dude en comunicarse con nosotros en drupalsupport@xecurify.com Por favor haga clic aquí para ver la característica completa lista.

1. Autenticación básica

  • La autenticación básica es un mecanismo de autenticación simple donde el cliente puede usar sus credenciales para proteger las API de Drupal. Para utilizar cualquier API con este método de autenticación, debe enviar una solicitud con su nombre de usuario y contraseña codificados en base64 en el encabezado de Autorización.
  • Para seleccionar este método haga clic en el Autenticación básica desde el módulo como se muestra a continuación:
  • Autenticación API de Drupal seleccione el método de autenticación básico
  • Para obtener información del nodo en Drupal, debe realizar una solicitud GET junto con el nombre de usuario y la contraseña de Drupal del usuario. El valor del nombre de usuario y la contraseña deben estar en formato codificado en base64. Puede consultar el siguiente formato para realizar una llamada.
  • 
                 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’> \
                
  • Su solicitud debe tener los encabezados y los parámetros del cuerpo de la siguiente manera respectivamente:
  • Autenticación de API de Drupal enviar respuesta
  • Una respuesta exitosa se vería así:
  • Respuesta de autenticación de API de Drupal

    2. Autenticación de clave API

    • La autenticación de clave API es uno de los métodos más simples para proteger las API REST de Drupal. Una vez que haya generado claves API para todos sus usuarios, puede usar esas claves para asegurar el acceso a sus API REST de Drupal.
    • Para configurar la clave API como método de autenticación API, navegue hasta Autenticación API pestaña del módulo de autenticación de API REST (/admin/config/people/rest_api_authentication/auth_settings).
    • Seleccione Habilitar casilla de verificación de autenticación y haga clic en el Guardar la configuración anterior del botón.
    • Para habilitar la autenticación basada en clave API, seleccione el botón de opción Clave API.
    • En la misma pantalla, puede generar la clave API para un usuario en particular o puede generar la clave API para todos los usuarios a la vez.
    • Autenticación Drupal selectAPI
    • Tendría que crear un atributo de usuario para la clave API del campo. Puedes referirte así enlace para crear una clave API de campo.
    • Para profundizar más, tomemos un ejemplo de creación de un usuario en Drupal.
    • Para crear un usuario en Drupal, se debe realizar una solicitud POST con el nombre de usuario del usuario y una clave API proporcionada por el módulo de autenticación API REST miniOrange. El nombre de usuario y la clave API deben estar codificados en base64. Utilice el siguiente formato como referencia para realizar la llamada:
    • 
                   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"
                     }
                       ]
                      
               
                  
    • Su solicitud debe tener los encabezados y los parámetros del cuerpo de la siguiente manera respectivamente:
    • API REST de Drupal envía respuesta
    • Una respuesta exitosa se vería así:
    • Respuesta de autenticación de API REST de Drupal

    3. Autenticación JWT

    • JSON Web Token (JWT) es una forma segura de representar la identidad de un usuario durante una interacción entre dos partes. Inicialmente, las credenciales de su sitio Drupal se utilizan para obtener primero un token JWT. Después de verificar el nombre de usuario y la contraseña, el módulo de autenticación de API REST de Drupal crea un token JWT firmado, que se envía de regreso a la aplicación cliente para solicitudes API posteriores.
    • Este token se utiliza para realizar las operaciones en Drupal hasta que caduque. El módulo de autenticación de API REST de Drupal otorgará acceso solo cuando reciba un JWT válido de la aplicación.
    • Para configurar JWT como método de autenticación API, navegue hasta el Autenticación API pestaña del módulo de autenticación de API REST (/admin/config/people/rest_api_authentication/auth_settings).
    • Seleccione Habilitar casilla de verificación de autenticación y haga clic en el Guardar la configuración anterior del botón.
    • Debajo del botón Guardar configuración anterior, seleccione el botón de opción JWT. Proporcione el nombre del atributo en el que se recibirá su nombre de usuario en el campo de texto "Atributo del nombre de usuario".
    • Finalmente, haga clic en Guardar configuración JWT del botón.
    • Para utilizar un token JWT creado externamente para la autenticación, puede configurar las siguientes opciones:
  • Ingrese el nombre del atributo en el que se recibirá su nombre de usuario en el campo de texto "Atributo del nombre de usuario".
  • Si desea utilizar un token JWT externo, también puede especificar la URL de JWKS para validar ese token en Drupal.
    Drupal selecciona el método del token jwt
  • Consideremos el siguiente ejemplo: necesitamos iniciar una solicitud API para obtener un JWT. Posteriormente, aprovecharemos el token para autenticar la API de Drupal y crear una página básica.
  • Para adquirir el JWT, debemos enviar una consulta POST que contenga las credenciales de Drupal del usuario. El Nombre de usuario y la Contraseña deben enviarse en formato codificado en base64. Para su comodidad, consulte el formato de la solicitud a continuación.
  • 
                     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’ \'
                 
  • Además, puede consultar la imagen de la solicitud del cartero para obtener el JWT de Drupal.
  • Punto final del token JWT de la API REST de Drupal
  • Una respuesta exitosa devuelve el JWT junto con la expiración de su token. (consulte la imagen a continuación)
  • Drupal REST API id token JWT exitoso
  • Para autenticar las API REST de Drupal utilizando el JWT recibido, puede consultar la siguiente guía: Autenticar las API REST de Drupal.

4. Autenticación OAuth 2.0

  • Para autenticar el acceso a las API del sitio Drupal a través de la API REST, el método OAuth 2.0 emplea el flujo del protocolo OAuth 2.0. Esto implica obtener un token de acceso de seguridad, que luego se utiliza para autenticar el acceso a su sitio Drupal. El método de autenticación OAuth proporciona un token de acceso altamente cifrado y seguro, lo que garantiza una seguridad completa para sus API de Drupal. Se considera uno de los métodos más seguros para proteger sus puntos finales Drupal REST o JSONAPI API contra el acceso no autorizado.
  • Navegue hasta la Autenticación API pestaña del módulo de autenticación de API REST (/admin/config/people/rest_api_authentication/auth_settings)
  • Seleccione Habilitar casilla de verificación de autenticación y haga clic en el Guardar la configuración anterior del botón.
  • Debajo del botón Guardar configuración anterior, seleccione el botón de opción OAuth/Token de acceso.
  • Ahora haga clic en el botón Generar un nuevo ID de cliente y secreto.
  • Método de token de acceso de selección de Drupal
  • El módulo de autenticación de API miniOrange admite dos tipos de concesión que se pueden utilizar para obtener un token de acceso:
  • Concesión de contraseña: En este tipo de concesión, puede obtener el token de acceso enviando una solicitud POST que contiene el nombre de usuario y la contraseña de Drupal del usuario junto con el ID de cliente emitido por el módulo de autenticación de API REST:
  • 
             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='
         
  • También puede consultar la imagen de la solicitud del cartero para obtener un token de acceso de Drupal mediante la concesión de contraseña.
  • Solicitud de autenticación del token de acceso de Drupal
  • Una respuesta exitosa devuelve el token de acceso junto con la caducidad del token y el tipo de token (consulte la imagen a continuación)
  • Solicitud de autenticación del token de acceso de Drupal
  • Otorgamiento de Credenciales de Cliente: En esta concesión, puede adquirir el token de acceso realizando una solicitud POST que contenga el ID del cliente y el secreto del cliente emitidos por el módulo de autenticación de API REST junto con el nombre de usuario de Drupal del usuario.
  • 
         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>'
     
  • También puede consultar la imagen de la solicitud del cartero para obtener un token de acceso de Drupal utilizando la concesión de Credenciales de cliente.
  • Solicitud de autenticación del token de acceso de Drupal
  • Una respuesta exitosa devuelve el token de acceso junto con la caducidad del token y el tipo de token (consulte la imagen a continuación)
  • Solicitud de autenticación del token de acceso de Drupal
  • Para realizar una llamada API para obtener un token de acceso. Luego usaremos esto para autenticar la API de Drupal para obtener la información de un usuario. así .

5. Autenticación de proveedores externos

  • Para implementar este método, necesitará obtener tokens de proveedores externos como Google, Azure AD, etc. Estos tokens le permiten acceder a las API REST de Drupal de forma segura.
  • Para utilizar la autenticación del proveedor de identidad externo, deberá configurar el módulo especificando el punto final de información del usuario proporcionado por su proveedor de identidad, así como el atributo de nombre de usuario asociado con su proveedor de identidad. Una vez configurado, puede autenticar todas las solicitudes de API de Drupal utilizando el token proporcionado por su proveedor.
  • Navegue hasta la Autenticación API pestaña del módulo de autenticación de API REST (/admin/config/people/rest_api_authentication/auth_settings)
  • Marque la Habilitar casilla de verificación de autenticación y golpear Guardar la configuración anterior del botón.
  • Debajo del botón Guardar configuración anterior, seleccione el botón de opción Proveedor de identidad externo.
  • En el cuadro de texto Punto final de información del usuario, ingrese el punto final de información del usuario para su proveedor de identidad. Esto permitirá que el módulo recupere la información del usuario utilizando el token proporcionado.
  • En el campo Atributo del nombre de usuario, ingrese la clave/nombre del atributo de su proveedor de identidad que el proveedor externo está utilizando para enviar el nombre de usuario.
  • Drupal selecciona el método de autenticación de terceros
  • Para crear un usuario en Drupal, se debe realizar una solicitud POST junto con el Token recibido del proveedor de identidad.
  • 
             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"}
                 ]
              }
     
             
  • Puede consultar la imagen de la solicitud de cartero agregada a continuación:
  • Solicitud de autenticación de terceros de Drupal
  • Una respuesta exitosa devuelve la información del usuario creada -
  • Respuesta de autenticación de terceros de Drupal

Soporte activo 24 horas al día, 7 días a la semana

Si tiene algún problema o tiene alguna pregunta, no dude en comunicarse con nosotros en drupalsupport@xecurify.com. En caso de que desee que se incluyan algunas funciones adicionales en el módulo, póngase en contacto con nosotros y podremos personalizarlas para usted. Además, si lo desea, también podemos programar una reunión en línea para ayudarlo a configurar el módulo de autenticación de API REST de Drupal.

Recursos adicionales

Nuestros otros módulos

¡Hola!

¿Necesitas ayuda? ¡Estamos aquí!

SOPORTE
Póngase en contacto con el soporte técnico de miniOrange
comercial

Gracias por su consulta.

Si no recibe noticias nuestras dentro de las 24 horas, no dude en enviar un correo electrónico de seguimiento a info@xecurify.com