El servicio de Autenticación es utilizado principalmente para obtener el token el cual sera utilizado para poder timbrar nuestro CFDI (xml) ya emitido (sellado), para poder utilizar este servicio es necesario que cuente con un usuario y contraseña para posteriormente obtenga el token, usted puede utilizar los que están en este ejemplo para el ambiente de Pruebas.
Para autenticarse a cualquiera de nuestros servicios es necesario contar con un token. Este token se puede obtener de dos maneras:
- A través de la aplicación web Administración SW SmarterWeb aquí una guía de como generarlo enlace.
- A través de nuestros servicios REST de autenticación el cual se describe a continuación.
A continuación mostraremos como llevar acabo la autenticacion y generación de Token, por medio de nuestras librerias.
- C#
- PHP
- JAVA
- CONSOLA
- Delphi
- FoxPro9
- Visual Basic 6
- Node.js
Ir al Repositorio de C# en GitHub
using SW.Services.Authentication; using System; namespace ExampleSDK { class Program { static void Main() { try { //Ejemplo utilizando la librería sw-sdk ( https://www.nuget.org/packages/SW-sdk/ ) //Para mayor referencia: https://github.com/lunasoft/sw-sdk-dotnet //Creamos una instancia de tipo Authentication //A esta le pasamos la Url, Usuario y Contraseña para obtener el token Authentication auth = new Authentication("http://services.test.sw.com.mx", "demo", "123456789"); AuthResponse response = auth.GetToken(); } catch (Exception e) { } } } }
Ir al Repositorio de PHP en GitHub
<?php //Ejemplo de php utilizando la libreria sw-sdk-php ( https://packagist.org/packages/lunasoft/sw-sdk-php ) //Para mayor referencia: https://github.com/lunasoft/sw-sdk-php //requerimos el autoload generado por composer require_once "vendor/autoload.php"; //requerimos el servicio Authentication use SWServicesAuthenticationAuthenticationService as Authentication; //Generamos un array con las propiedades $params = array( "url"=>"http://services.test.sw.com.mx", "user"=>"demo", "password"=>"123456789" ); try{ //Generamos un objeto "auth" con los parametros antes declarados $auth = Authentication::auth($params); //Ejecutamos el metodo Token $token = $auth::Token(); //Incluimos el header content-type para mostrar la impresion del resultado, esto es meramente demostrativo header("Content-type: application/json"); echo $token; } catch(Exception $e){ header("Content-type: text/plain"); echo "Caught exception: ", $e->getMessage(); } ?>;
Ir al Repositorio de Java en GitHub
package Tests; //Importar las librerias correspondientes import Services.Authentication.SWAuthenticationService; import Services.SWService; import Utils.Responses.AuthResponse; public class AuthTest { public static void main(){ try{ SWAuthenticationService auth; auth = new SWAuthenticationService("demo","123456789","http://services.test.sw.com.mx"); IResponse response; response = auth.Token(); //Estatus de la petición, puede ser: "success", "fail", "error" System.out.println(response.Status); //Codigo HTTP de la respuesta System.out.println(response.HttpStatusCode); //El cuerpo de la respuesta //En este caso el token System.out.println(response.token); } catch (Exception e){ //En caso de obtener un estatus "fail", o "error", se generara una excepción System.out.println(e.getMessage()); } } }
curl --request POST --url http://services.test.sw.com.mx/security/authenticate --header "cache-control: no-cache" --header "Content-Length: 0" --header "password: 123456789" --header "user: demo"
La información de como autenticarse para esta librería la puedes encontrar en este Enlace
La información de como autenticarse para esta librería la puedes encontrar en este Enlace
La información de como autenticarse para esta librería la puedes encontrar en este Enlace
Ir al Repositorio de Node.js en GitHub
const Authentication = require("sw-sdk-nodejs").Authentication; let obj = { url : "services.test.sw.com.mx", user: "demo", password: "123456789", } let auth = Authentication.auth(obj); let callback = (err, data) => { if(err) { console.log(err) } else{ console.log(data) } }; auth.Token(callback);