Resultados de la búsqueda :

×

Método de autenticación JWT de la API REST de WordPress


Este método de autenticación de puntos finales de la API REST de WordPress implica el acceso a las API REST en la validación basada en el JWT (token web JSON). Cada vez que se realice una solicitud para acceder al punto final de la API REST de WordPress, la autenticación se realizará contra ese token JWT. y sobre la base de la verificación de ese token JWT, se permitirá el acceso a los recursos para esa solicitud de API. El token JWT se genera en función de las credenciales de usuario de WordPress y está altamente cifrado, por lo que la seguridad no se ve comprometida.




Autenticación de la API Rest de WordPress
Por miniOrange

El complemento de autenticación de API REST de WordPress brinda seguridad contra el acceso no autorizado a sus API REST de WordPress.

Para saber más

Descarga e instalación

  • Inicie sesión en su instancia de WordPress como administrador.
  • Ir a WordPress Panel de control -> Complementos y haga clic en Añadir nuevo.
  • Buscar un WordPress Autenticación de API REST complemento y haga clic en Instalar ahora .
  • Una vez instalado, haga clic en Activar.

idp_sso_image1 Caso de uso: Proteger/proteger o autenticar los puntos finales de la API REST de WordPress utilizando JWT (JSON Web Token).

  • Suponga que tiene una aplicación móvil/web y desea permitir el acceso a los puntos finales de la API REST de WordPress en función de las capacidades del usuario, de modo que solo los usuarios con esa capacidad particular deben realizar operaciones de creación/actualización, mientras que los usuarios con otros roles solo pueden ver eso. Luego, en tales casos, puede autenticar los puntos finales de la API REST utilizando los JWT (tokens web JSON) obtenidos de acuerdo con las credenciales del usuario y la autenticación JWT de WordPress le permite hacerlo de forma muy segura. Por lo tanto, realizar la solicitud de API REST con este JWT pasado en el encabezado Autorización permite el acceso al recurso/datos o proporciona la capacidad/autorización para realizar operaciones de WordPress que requieren una capacidad particular del usuario. JWT Authentication para WordPress REST API proporciona el cifrado del token utilizando 2 métodos: HSA o RSA y es válido por un tiempo limitado. Por tanto, la seguridad no es una preocupación.


    El token JWT generado para la autenticación JWT consta de información de usuario de WordPress y, por lo tanto, este token se puede decodificar utilizando la clave secreta/certificado público válido en otra aplicación para crear un usuario allí o sincronizar información de usuario actualizada. El token JWT también es un token basado en el tiempo, lo que significa que caduca después de un cierto período de tiempo que se puede configurar según los requisitos y, por lo tanto, después de su vencimiento, no se permitirá el acceso a las API y tampoco se podrá decodificar la información del usuario, lo que hace Autenticación JWT para WordPress REST API un método de autenticación seguro.


  • El flujo para la autenticación de la API REST de WordPress se puede lograr utilizando el método JWT y se explica a continuación:
  • Método de autenticación JWT de la API REST de WordPress usando jwt

      1. La solicitud de la API REST de WordPress se realiza con todos los parámetros requeridos para obtener el token JWT. El token JWT obtenido se proporciona en formato cifrado utilizando el algoritmo HSA o RSA, por lo que habrá la máxima seguridad.

      2. Luego, la solicitud real de la API REST de WordPress para acceder al recurso/datos o para realizar operaciones con la base de datos de WordPress se realiza con el token JWT obtenido en el último paso, se pasa en el encabezado Autorización con los tipos de token como Portador y nuestro complemento valide ese token JWT y, si la validación o autenticación es exitosa, se proporcionará el recurso al solicitante de API; de lo contrario, se devolverá una respuesta de error. Por lo tanto, nuestro complemento actuará como proveedor de token JWT y como validador de token JWT.


Caso de uso relacionado:

  • ¿Cómo realizar solicitudes autenticadas JWT a los puntos finales de la API REST de WordPress?
  • Autenticación de API REST de Woocommerce/WordPress mediante JWT (JSON Web Token).

idp_sso_image1 Lea los casos de uso de los siguientes métodos de autenticación de Rest API:


Configurar el método de autenticación JWT de la API REST


  • En el complemento, vaya a Configurar métodos pestaña en la sección izquierda.
  • Haga clic en Autenticación JWT como método de autenticación API.
  • Método de autenticación jwt de la API REST de WordPress
  • Seleccione Tipo de generación de token . Por defecto, el HS256 algoritmo y clave secreta única generada aleatoriamente se utilizan respectivamente y haga clic Siguiente en la esquina superior derecha.
  • Para probar la funcionalidad, complete el Usuario y Contraseña campos para un usuario existente.
  • Método de autenticación jwt de la API REST de WordPress
  • Haga clic en Obtener token . Se mostrará un token JWT (jwt_token) en respuesta cuyo valor puede copiar al portapapeles para realizar una solicitud GET.
  • Pegue el token JWT obtenido en el Paso 6.
  • Haga Clic en Configuración de prueba y la respuesta se mostrará en la pantalla.
  • Haga clic en el Acabado del botón.
  • Método de autenticación jwt de la API REST de WordPress

  • Aquí deberá realizar dos llamadas API:

I: Obtener el token JWT

  • Para obtener el token JWT, deberá realizar una llamada API REST al punto final del token como se muestra a continuación:
  • Request:POST https://<domain-name>/wp-json/api/v1/token
    Body:username = <wordpress username>
    password = <wordpress password>
    
    Sample curl Request Format-
    curl -d "username=<wordpress_username>&password=<wordpress_password>"
    -X POST http://<wp_base_url>/wp-json/api/v1/token
    

    Estos puntos finales de API también se denominan autenticación de usuario API o Punto final de la API de inicio de sesión de WordPress de modo que si realizamos una solicitud a este punto final con las credenciales de usuario de WordPress y si las credenciales son válidas, la respuesta exitosa regresará con el token JWT; de lo contrario, la respuesta de error se mostrará en consecuencia.

  • Primero eche un vistazo al sitio web de la página Respuesta de error por obtener el token JWT.

II: Enviar solicitud de API

  • Una vez que obtenga el token JWT, puede usarlo para solicitar acceso a las API REST de WordPress como se muestra a continuación:
  • Request: GET  https://<domain-name>/wp-json/wp/v2/posts
    Header: Authorization : Bearer <JWT token>
    
    Sample curl Request Format-
    curl -H "Authorization:Bearer <jwt_token >"
    -X GET http://<wp_base_url>/wp-json/wp/v2/posts
    
  • NOTA: El token anterior es válido durante 1 hora de forma predeterminada y también se puede personalizar. Una vez que el token caduca, se puede generar nuevamente.
  • Primero eche un vistazo al sitio web de la página documentación del desarrollador para más información.
  • Primero eche un vistazo al sitio web de la página Respuesta de error para hacer API con token JWT.

  • ¡Felicidades! Ha configurado correctamente el método de autenticación JWT para llamadas de API REST utilizando el método de autenticación de API REST de miniOrange WordPress.

    mini naranja img Ejemplos de código en lenguajes de programación.



     
      var client = new RestClient("http://<wp_base_url>/wp-json/wp/v2/posts ");
    client.Timeout = -1;
    var request = new RestRequest(Method.GET);
    request.AddHeader("Authorization", "Bearer < jwt_token >");    
    IRestResponse response = client.Execute(request);
    Console.WriteLine(response.Content);
    
     
      OkHttpClient client  = new OkHttpClient().newBuilder().build();
      Request request  = new Request.Builder()
      .url("http://<wp_base_url>/wp-json/wp/v2/posts ")
      .method("GET", null)
      .addHeader = ("Authorization", "Bearer < jwt_token >")    
       .build();
      Response response= client.newCall(request).execute();
              
     
      var settings  = {
          "url": "http://<wp_base_url>/wp-json/wp/v2/posts ",
          "method": "GET",
          "timeout": 0,
          "headers": {
              "Authorization": "Bearer < jwt_token >"
            },        
        };
        
        $.ajax(settings).done(function (response)  {
          console.log(response);
        });
        
     
     <?php
       $curl = curl_init();
      curl_setopt_array($curl, array 
          (  
              CURLOPT_URL => 'http://%3Cwp_base_url%3E/wp-json/wp/v2/posts%20',
              CURLOPT_RETURNTRANSFER => true,
              CURLOPT_ENCODING => '',
              CURLOPT_MAXREDIRS => 10,
              CURLOPT_TIMEOUT => 0,
              CURLOPT_FOLLOWLOCATION => true,
              CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
              CURLOPT_CUSTOMREQUEST => 'GET',
              CURLOPT_HTTPHEADER => array(
                'Authorization: Bearer < jwt_token >'
              ),
              ));          
            
      $response = curl_exec($curl);
      curl_close($curl);    
      echo $response;
              
     
      import http.client
    
      conn = http.client.HTTPSConnection("<wp_base_url>")
      payload= "
      headers = {
          'Authorization': 'Bearer < jwt_token >'
      }
      conn.request("GET", "/wp-json/wp/v2/posts ", payload, headers)
      res= conn.getresponse()    
      data = res.read()    
      print (data.decode("utf-8"))   
    

    idp_sso_image1 Muestras de cartero:

      Siga los pasos a continuación para realizar una solicitud de API REST utilizando Postman:

    • Haga clic en el Muestras de cartero pestaña en el complemento.
    • Implementación del cartero del método de autenticación JWT API REST de WordPress
    • A Archivo JSON se descargará automáticamente.
    • WordPress REST API JWT Método de autenticación cartero archivo JSON
    • Importar lo descargado Archivo JSON en la aplicación Postman como se muestra a continuación.
    • Solicitud de API REST para obtener el token JWT
      • Una vez que importe el archivo json, haga clic en la solicitud de API REST debajo del Colecciones como se muestra en la última figura. Reemplace la con su dominio de Wordpress en el http://<wp_base_url>/wp-json/wp/v2/posts y reemplazar el con nombre de usuario de WordPress y con contraseña de WordPress en los parámetros del cuerpo.
      • El cartero del método de autenticación REST JWT de WordPress reemplaza la URL base
      • Ejemplo
      • Ejemplo de URL base de reemplazo de cartero del método de autenticación REST JWT de WordPress
      • NOTA: Copie el token jwt obtenido de la respuesta. Se utilizará en las solicitudes de API de recursos para autenticarse.
    • Solicitud de API REST para obtener el recurso real
      • Una vez que importe el archivo json, haga clic en la solicitud de API REST debajo del Colecciones como se muestra en la última figura. Reemplace la con su dominio de Wordpress en el http://<wp_base_url>/wp-json/wp/v2/posts y reemplazar el con el token jwt copiado de la respuesta obtenida después de la solicitud del token.
      • El cartero del método de autenticación REST JWT de WordPress reemplaza el recurso real de la URL base
      • Ejemplo
      • WordPress REST API JWT Método de autenticación cartero reemplaza la URL del recurso real

    idp_sso_image1 Descripción de la característica

      1. Restricción de API REST basada en roles:

      Esta característica permite restringir el acceso a la API REST según los roles de usuario. Puede incluir en la lista blanca los roles para los que desea permitir el acceso al recurso solicitado para las API REST. Entonces, cada vez que un usuario realiza una solicitud de API REST, se recuperará su función y solo se le permitirá acceder al recurso si su función está en la lista blanca.


      ¿Cómo configurarlo?

      • Primero, vaya a la pestaña 'Configuración avanzada' del complemento.
      • Luego, en la sección Restricción basada en roles, todos los roles de forma predeterminada podrán acceder a las API. Puede habilitar la casilla de verificación de los roles para los que desea restringir el acceso.
      • Implementación del cartero del método de autenticación básica de la API REST de WordPress
      • En la captura de pantalla anterior, la casilla de verificación de función de suscriptor está habilitada. Entonces, cada vez que un usuario realiza una solicitud de API con su rol de suscriptor, ese usuario no podrá acceder al recurso solicitado.

      Nota: La función de restricción basada en roles es válida para autenticación básica (nombre de usuario: contraseña), método JWT y OAuth 2.0 (concesión de contraseña).

      2. Encabezado personalizado

      Esta característica proporciona una opción para elegir un encabezado personalizado en lugar del encabezado predeterminado "Autorización".

      Aumentará la seguridad ya que el encabezado tiene el nombre de su "nombre personalizado", por lo que si alguien realiza la solicitud de API REST con un encabezado como "Autorización", no podrá acceder a las API.


      ¿Cómo configurarlo?

      • Primero, vaya a la pestaña 'Configuración avanzada' del complemento.
      • Luego, en la sección "Encabezado personalizado", puede editar el cuadro de texto para ingresar el nombre personalizado que desee.
      • Implementación del cartero del método de autenticación básica de la API REST de WordPress

      3. Excluir las API REST

      Esta característica le permite incluir sus API REST en la lista blanca para que se pueda acceder a ellas directamente sin ninguna autenticación. Por lo tanto, todas estas API REST incluidas en la lista blanca están disponibles públicamente.


      ¿Cómo configurarlo?

      • Primero, vaya a la pestaña 'Configuración avanzada' del complemento.
      • Luego, en 'Excluir API REST', puede ingresar sus API en el formato prescrito que debe incluirse en la lista blanca para el acceso público.
      • Implementación del cartero del método de autenticación básica de la API REST de WordPress
      • Ejemplo: supongamos que desea excluir la API REST ' ' /wp-json/wp/v2/posts' luego debe ingresar '/wp/v2/posts' en el cuadro de texto.

      4. Caducidad del token personalizado

      Esta característica es aplicable a los métodos JWT y OAuth 2.0 que utilizan tokens basados ​​en el tiempo para autenticar los puntos finales de la API REST de WordPress. Esta función le permite establecer el vencimiento personalizado para los tokens, de modo que el token ya no será válido una vez que caduque.


      ¿Cómo configurarlo?

      • Primero, vaya a la pestaña 'Configuración avanzada' del complemento.
      • Luego, en la sección "Configuración de caducidad del token", se pueden modificar la validez del token de acceso y el token de actualización (utilizado para el método OAuth 2.0). De forma predeterminada, el tiempo de vencimiento del token de acceso se establece en 60 minutos y el tiempo de vencimiento del token de actualización se establece en 14 días. Por lo tanto, con esta característica, el vencimiento se puede ajustar en consecuencia según los requisitos.
      • Implementación del cartero del método de autenticación básica de la API REST de WordPress

      Por lo tanto, con esta función de caducidad de token personalizada, la seguridad aumenta aún más.

      5. Validación de firma para tokens basados ​​en JWT

      Esta característica permite una firma segura de la firma JWT para el token JWT, de modo que su token JWT sea mucho más seguro y la firma solo se pueda decodificar utilizando el secreto/certificado del cliente. Significa que su firma es privada y otros no pueden verla.

      Implementación del cartero del método de autenticación básica de la API REST de WordPress

      Brindamos soporte para 2 algoritmos de firma: HS256 y RS256. Por lo tanto, cualquiera de los algoritmos de firma se puede elegir en el menú desplegable como se muestra en la imagen de arriba.

      Además, debe agregar su secreto de cliente o certificado desde el cual se utiliza para firmar la firma del JWT.

      ¿Necesitas ayuda?

      Envíenos un correo electrónico a apisupport@xecurify.com para obtener orientación rápida (por correo electrónico/reunión) sobre sus necesidades y nuestro equipo le ayudará a seleccionar la mejor solución/plan adecuado según sus necesidades.

    ¡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