Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 20 Next »

CONFIGURACIÓN NECESARIA

  • Handlers: para poder tener acceso al API de GAM la cual permite gestionar el acceso a los servicios mediante un token de acceso, el archivo web.config debe contener en la sección de handlers el elemento:

<add name="GeneXus.Http.GXOAuthAccessToken" verb="*" path="GXOAuthAccessToken.aspx" type="GeneXus.Http.GXOAuthAccessToken,GxClasses" />

  • Usuario: es recomendable crear un usuario en el GAM para para permitir el acceso exclusivo a los web services.

  • Roles y Permisos: Se debe crear un rol específico para el uso de los web services con los permisos de los web services expuestos y este rol debe ser asignado al usuario que se utilizará para la conexión. Por cada web service expuesto sobre una transacción Genexus existen permisos relacionados, los cuales deben llevar el sufijo con el permiso otorgado, la estructura es

[Transaccion]_Service_[Tipo de Permiso]

Entre los tipos de permisos están:

  • Execute
    Permite operaciones GET

  • Insert
    Permite operaciones POST

  • Delete
    Permite operaciones DELETE

  • Update
    Permite operaciones PUT

  • FullControl
    Permite realizar GET, POST, PUT y DELETE sobre el web service.


WEB SERVICE DE AUTENTICACIÓN

  • ACCESS TOKEN

Para obtener el token de acceso es necesario realizar POST con los parámetros (Recomendable hacerlo con aplicaciones como POSTMAN), para ello se deben tener los paramentos listados a continuación (Se indican a modo de ejemplo):

key

value

client_id

1517b36b238a42c886b4367a1d132582

client_secret

feb8098762b64fb29038bf844fce894

granttype

password

scope

FullControl

username

admin

password

admin123

Donde los parámetros client_id y client_secret deben obtenerse de los parámetros de la aplicación en el GAM, esta información puede ser revisada en el menú Configuración - Seguridad - Configuración de la Aplicación.


PETICIÓN DE ACCESO

  • Una petición POST a (Recomendable hacerlo con aplicaciones como POSTMAN).

 Instalación de POSTMAN

Para la Autenticacion y consumo de los Web Services indicados debemos tener instalado en tu equipo de trabajo alguna aplicación para probar acceso a la REST API de SIFCO WEB, para ello recomendamos uno de los mas usados como es POSTMAN y a continuación detallamos su instalación como extensión de Google Chrome, dado a que la misma es independiente del Sistema Operativo (SO) que estés utilizando, sin embargo es importante acotar que dicha aplicación también se puede instalar directamente en tu equipo, pero el instalador a utilizar dependerá del SO que estés ejecutando en ella.

INSTALACIÓN DE POSTMAN COMO EXTENSIÓN DE GOOGLE CHROME

Primero debe acceder a siguiente link

Luego debes darle clic al botón de AGREGAR A CHROME

Luego en la ventana del pop-up que se muestra en la imagen debes dar clic en AGREGAR APP

Y luego verificar que comience la descarga en la barra inferior, y una vez culminado (debe ser un proceso bastante rápido), verificar que la aplicación esta en tu listado de extensión y aplicaciones de Google Chrome.

Una vez instalado puedes iniciarlo y configurar los parámetros indicados en esta guía para la obtención del token y el consumo de los Web Services

Si necesitas información adicional de como utilizar POSTMAN, te adjunto dos paginas que pueden ser de mucha ayuda para ello.

Paginas e Apoyo Adicionales para la Instalación y utilización de POSTMAN

HTTP://<SERVER>/<APPDIR>/oauth/access_token

Incluyendo en el body:

client_id=1234561ad52a42919a221bc796d0d6b0&client_secret=1111114313d243dd987b3aadb250e63b&granttype=password&scope=FullControl&username=admin&password=admin123

  • Como respuesta se obtendrá un JSON con el token de acceso el cual deberá utilizarse en el encabezado de petición de consumo de los objetos expuestos

{ 
"access token" : "c9919e10e118"
"scope" : "FullControl"
}

CONSUMO DE WEB SERVICE

  • Petición con la estructura:

HTTP://<SERVER>/<APPDIR>/rest/WEB_SERVICE/PARM_1/PARM_2/PARM_N

  • Encabezados obligatorios:

Cuando se ha habilitado en la Aplicación SIFCO WEB, el acceso de un usuario vía REST API de forma segura, a través del GeneXus Access Manager (GAM) con la propiedad de Nivel de Seguridad Integrada activa en las opciones de Autorización o Autenticación, deben enviarse los encabezados necesarios al servicio para evitar que el servicio responda con un error HTTP 401. Para evitar eso se debe incluir en la cabecera del llamado HTTP POST, lo siguientes encabezados y poder consumir dicho Web Service de forma segura sin riegos a que dicha solicitud sea rechazada.

Content-Type: application/json
Authorization: OAuth <Access Token>
GENEXUS-AGENT: SmartDevice Application

Mientras el token sea válido, el servicio responderá con el estado HTTP 200 OK y devolverá los datos solicitados. Si el token pasado en los encabezados ya no es válido, el servicio devolverá un error HTTP que debe quedar atrapado en el código de control del usuario.

Para profundizar sobre este punto puede remitirse a siguiente link, donde se detalla como es el llamado de Web Service, tipo Restfull, de forma segura por un usuario habilitado para ello desde el GeneXus Access Manager (GAM) .


Respete los encabezados obligatorios para que pueda consumir el WEB SERVICE respectivo.

NO OLVIDE crear un usuario en el GAM para para permitir el acceso exclusivo a los web services. Y incluir en el archivo web.config debe contener en la sección de handlers el elemento indicado en la primera parte de esta pagina.

Artículos Relacionados

Artículos Actualizados Recientemente

Version Date Comment
Current Version (v. 20) Aug 28, 2019 17:07 Alfredo Lopez
v. 35 Oct 06, 2019 02:00 Alfredo Lopez
v. 34 Sept 02, 2019 21:39 Alfredo Lopez
v. 33 Sept 02, 2019 21:35 Alfredo Lopez
v. 32 Sept 02, 2019 21:29 Alfredo Lopez
v. 31 Sept 01, 2019 01:16 Alfredo Lopez
v. 30 Sept 01, 2019 01:12 Alfredo Lopez
v. 29 Sept 01, 2019 01:12 Alfredo Lopez
v. 28 Aug 31, 2019 19:21 Alfredo Lopez
v. 27 Aug 30, 2019 23:10 Alfredo Lopez
v. 26 Aug 30, 2019 23:05 Alfredo Lopez
v. 25 Aug 29, 2019 02:51 Alfredo Lopez
v. 24 Aug 29, 2019 02:49 Alfredo Lopez
v. 23 Aug 29, 2019 02:32 Alfredo Lopez
v. 22 Aug 29, 2019 02:17 Alfredo Lopez
v. 21 Aug 28, 2019 19:17 Alfredo Lopez
v. 20 Aug 28, 2019 17:07 Alfredo Lopez
v. 19 Aug 26, 2019 18:53 Alfredo Lopez
v. 18 Aug 26, 2019 18:45 Alfredo Lopez
v. 17 Aug 26, 2019 18:29 Alfredo Lopez
v. 16 Aug 26, 2019 18:22 Alfredo Lopez
v. 15 Aug 26, 2019 18:21 Alfredo Lopez
v. 14 Aug 26, 2019 02:58 Alfredo Lopez
v. 13 Aug 26, 2019 02:55 Alfredo Lopez
v. 12 Aug 26, 2019 02:53 Alfredo Lopez
v. 11 Aug 26, 2019 02:51 Alfredo Lopez
v. 10 Aug 26, 2019 01:08 Alfredo Lopez
v. 9 Aug 26, 2019 01:07 Alfredo Lopez
v. 8 Aug 26, 2019 01:05 Alfredo Lopez
v. 7 Aug 25, 2019 23:43 Alfredo Lopez
v. 6 Aug 25, 2019 23:38 Alfredo Lopez
v. 5 Aug 24, 2019 23:35 Alfredo Lopez
v. 4 Aug 24, 2019 23:30 Alfredo Lopez
v. 3 Aug 24, 2019 23:29 Alfredo Lopez
v. 2 Aug 24, 2019 23:28 Alfredo Lopez
v. 1 Aug 24, 2019 23:23 Alfredo Lopez


  • No labels