Base de Conhecimento

FRAMEWORK - Framework (Línea Protheus) MI - API para obtener un token de acceso a las API de REST en Protheus

time.png Tiempo aproximado de lectura: 00:05:00 min

Duda

Cual es el proceso para la obtención de TOKEN para api REST?

Ambiente
FRAMEWORK - Framework (Línea Protheus) MI - Todas las versiones 12

Solución

Para mejorar la seguridad del servicio web estándar REST de protheus, el modelo de autenticación a través del token de acceso, también conocido como token portador, está disponible.
La obtención de este token de acceso se realiza a través de una solicitud a una interfaz de programación de aplicaciones (API) específica.
Hay una configuración* que define si necesita autenticar al usuario para tener acceso a las API y, si dicha autenticación está habilitada, debe usar una de las plantillas de autenticación.
El modelo de autenticación más simple disponible se conoce como autenticación básica, pero no se puede considerar seguro porque trafica en cada solicitud, el usuario y la contraseña que se autentica. Para evitar que el usuario y la contraseña sean traficados en el encabezado de cada solicitud REST, puede optar por esta nueva plantilla propuesta.

* Más detalles sobre las plantillas de configuración y autenticación disponibles en el enlace: https://tdn.totvs.com.br/pages/viewpage.action?pageId=75268866

 

El endpoint /token

Debido al tráfico de usuarios y contraseñas a este punto final, es uno servido al que recomendamos encarecidamente que se acceda mediante el protocolo seguro https. Si se utiliza sin usar SSL, se imprime un mensaje en la consola del servidor para cada solicitud que se responde.

Sus parámetros se trafican a través de encabezados http como ejemplo a continuación:

 
POST /api/oauth2/v1/token
Query Params: ?grant_type=password
Headers
password : senha do usuario
username : usuario do sistema

 

Parámetro

Valor

grant_type

contraseña

contraseña

Contraseña de usuario

nombre de usuario

Usuario para autenticación

 

Respuesta de solicitud

Si las credenciales son válidas, la respuesta se devuelve en el siguiente formato:

{
    "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJUT1RWUy1BRFZQTC1GV0pXVCIsInN1YiI6Im1hcmlvIiwiaWF0IjoxNTUzMDIyMjYwLCJleHAiOjE1NTMwMjU4NjAsInJlc3RyaWN0ZWR0byI6WyJhcGkvcHJvdGhldXMvIiwiYXBpL2ZyYW1ld29yay8iXX0.jgvejFxPYDchLtj04r7mizRZCerb7xFXhB8Ihk+kFqg=",
    "refresh_token": "YEv3dtFbNCisITD3yDtKi5/x.T0jkPv12SWK/JjWS0xI01YbIXWM10KWw2ehCxG9yRVkXCiItBYN57Rizh4OH67m7H3-Jd-3ruC4/pBAWBkXVO251HPiS91KAh7FfbZqWaiDPmvYBvoiaP4KRR1gYcvCr9ES7wC3iRA2wQrQvODlH7b3FCTmvHzCVmRMi4eApgy4iOGVpBK7-ryI=.fD77MI4MBk1rW6eBjMq9EutN1ZIC1YKKuKqdEhbLf/k=",
    "scope": "default",
    "token_type": "Bearer",
    "expires_in": 3600
}

 

Acceso a las API de REST

Luego, en manos de la access_token, simplemente realice la solicitud a la API deseada incluyendo en el encabezado del parámetro Authorization el valor Bearer más el token de acceso.

Se pueden obtener más detalles en el http://tdn.totvs.com.br/pages/viewpage.action?pageId=465386127

 

Actualización del token

Después de que caduque el token de acceso, al intentar solicitar una API protegida, se devolverá el estado 401 de no autorizado, como si no se hubiera enviado un token de acceso.

Es entonces el momento de solicitar la misma API de token la actualización como se muestra en el siguiente ejemplo:

 
POST /api/oauth2/v1/token
Query Params: ?grant_type=refresh_token&refresh_token=YEv3dtFbNCisITD3yDtKi5/x.T0jkPv12SWK/JjWS0xI01YbIXWM10KWw2ehCxG9yRVkXCiItBYN57Rizh4OH67m7H3-Jd-3ruC4/pBAWBkXVO251HPiS91KAh7FfbZqWaiDPmvYBvoiaP4KRR1gYcvCr9ES7wC3iRA2wQrQvODlH7b3FCTmvHzCVmRMi4eApgy4iOGVpBK7-ryI=.fD77MI4MBk1rW6eBjMq9EutN1ZIC1YKKuKqdEhbLf/k=

 

Parámetro

Valor

grant_type

refresh_token

refresh_token

Actualizar token

 

Respuesta de solicitud

Si el token de actualización es válido, la respuesta se devuelve en el mismo formato anterior y este ciclo puede repetirse varias veces siempre que no se supere el tiempo de caducidad:

{    
    "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJUT1RWUy1BRFZQTC1GV0pXVCIsInN1YiI6Im1hcmlvIiwiaWF0IjoxNTUzMDIyOTQ0LCJleHAiOjE1NTMwMjY1NDQsInJlc3RyaWN0ZWR0byI6WyJhcGkvcHJvdGhldXMvIiwiYXBpL2ZyYW1ld29yay8iXX0.XsS38RdeJIetwh6Zq2DLQs0PhyLSRxCxOnCgp4SaoeY=",
    "refresh_token": "YEv3dtFbNCisMST1yztKi5/x.T0jkPv12SWK/JjWS0xI01YbIXWM10KWw2ehCxG9yRVkXCiItBYN57Rizh4OH67m7H3-Jd-3ruC4/pBAWBkXVO251HPiS91KAh7FfbZqWaiDPmvYBvoiaP4KRR1hUct67vFah2VLUSymyfLQtOjltqqzVPkqZMBaVtyVl4c4pxTw4IQtpHw==.tIUbpKC8sWcB6oIMhXcbOhq/bveF216m9gmboBrxJ7U=",
    "scope": "default",
    "token_type": "Bearer",
    "expires_in": 3600
}

 

Disponible a partir de la versión LIB 20210517

¿Fue útil este artículo?
Usuarios a los que les pareció útil: 0 de 0

0 Comentarios

Inicie sesión para dejar un comentario.
X Fechar

Olá ,

Há pendência referente a um de seus produtos contratados para a empresa ().

Entre em contato com o Centro de Serviços TOTVS para tratativa.

Ligue! 4003-0015 opção 4 e 9 ou registre uma solicitação para CST – Cobrança – Verificação de pendências financeiras . clique aqui.

TOTVS

X Fechar

Olá ,

Seu contato não está cadastrado no Portal do Cliente como um perfil autorizado a solicitar consultoria telefônica.

Por gentileza, acione o administrador do Portal de sua empresa para: (1)configurar o seu acesso ou (2)buscar um perfil autorizado para registro desse atendimento.

Em caso de dúvidas sobre a identificação do contato administrador do Portal, ligue (11) 4003-0015, opção 7 e, em seguida, opção 4 para buscar o suporte com o time de Assessoria ao Portal do Cliente. . clique aqui.

TOTVS

X Fechar

Olá ,

Para o atendimento de "Consultoria Telefônica" você deverá estar de acordo com o Faturamento.

TOTVS

X Fechar

Olá,

Algo inesperado ocorreu, e o usuario nao foi reconhecido ou você nao se encontra logado

Por favor realize um novo login

Em caso de dúvidas, entre em contato com o administrador do Portal de Clientes de sua empresa para verificação do seu usuário, ou Centro de Serviços TOTVS.

Ligue! 4003-0015 opção 4 e 9 ou registre uma solicitação para CST – Cadastros . clique aqui.

TOTVS

Chat _

Rellene los campos siguientes para iniciar el chat:

Chat _