Autenticación vía JWT ===================== El sistema soporta por defecto autenticación usando el protocolo **JWT (JSON Web Token Authentication)**. Obtener un token ---------------- Podemos obtener un token válido para autenticar las llamadas haciendo la siguiente petición: .. http:post:: /api/v1/auth/jwt/token/ **Ejemplo de petición**: .. sourcecode:: http POST /api/v1/auth/jwt/token/ HTTP/1.1 Content-Type: application/json { "username": "username", "password": "password", } **Ejemplo de respuesta**: .. sourcecode:: http HTTP/1.1 200 OK Content-Type: application/json { "token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ0c2VyX2lkIjoxLCJ1c2VybmFtZSI6InJ3aGl0ZUBob3RtYWlsLmNvbSIsImV4cCI6MTU2Njg0NjE1MiwiZW1haWwiOiJyd2hpdGVAaG90bWFpbC5jb20iLCJvcmlnX2lhdCI6MTU2Njg0MjU1Mn0.ta3rK76Y6Jtlfo7twzfwVrFDmkY_p10Id3FEReKWgnI", "dahl_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyX2lkIjoxLCJ1c2VybmFtZSI6InJ3aGl0ZUBob3RtYWlsLmNvbSIsImV4cCI6MTU2Njg0NjE1MiwiZW1haWwiOiJyd2hpdGVAaG90bWFpbC5jb20iLCJvcmlnX2lhdCI6MTU2Njg0MjU1Mn0.ta3rK76Y6Jtlfo7twzfwVrFDmkY_p10Id3FEReKWgnI", "dahl_refresh_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ0b2tlbl90eXBlIjoicmVmcmVzaCIsImV4cCI6MTU4NDQ0ODI2NCwianRpIjoiYjA1YzUzNTdiZGQwNDA0YTk3OWY3YzA2ZTA4YmI0MTUiLCJ1c2VyX2lkIjoxfQ.8crH2MIKEWmvH9DaYRXwHG8YbhsqVG2H8VZoY0BxS68" } Refrescar un token ------------------ Un JWT puede ser renovado, usando la siguiente llamada: .. http:post:: /api/v1/auth/jwt/refresh/ **Ejemplo de petición**: .. sourcecode:: http POST "/api/v1/auth/jwt/refresh/ HTTP/1.1 Content-Type: application/json { "token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyX2lkIjoxLCJ1c2VybmFtZSI6InJ3aGl0ZUBob3RtYWlsLmNvbSIsImV4cCI6MTU2Njg0NjE1MiwiZW1haWwiOiJyd2hpdGVAaG90bWFpbC5jb20iLCJvcmlnX2lhdCI6MTU2Njg0MjU1Mn0.ta3rK76Y6Jtlfo7twzfwVrFDmkY_p10Id3FEReKWgnI" } **Ejemplo de respuesta**: .. sourcecode:: http HTTP/1.1 200 OK Content-Type: application/json { "token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ0b2tlbl90eXBlIjoicmVmcmVzaCIsImV4cCI6MTU4NDQ0ODQzNSwianRpIjoiM2QzMGQ1MDY4ODE4NGEyM2FlZTJlYTQ3M2ZjM2Y4ZGEiLCJ1c2VyX2lkIjoxfQ.zRQyAuRGTwzlFVBIiEK559FFKZN5TfTZOr3SfE5jxPo" }